例如,我的Linux系统上有OpenSSL版本1.0.0o
,我想知道这个版本支持哪些SSL/TLS
版本。
是否有shell命令来完成此任务?
答案 0 :(得分:138)
使用此
openssl ciphers -v | awk '{print $2}' | sort | uniq
答案 1 :(得分:10)
您无法通过命令行检查版本支持。最好的选择是检查OpenSSL changelog。
直到1.0.0h的Openssl版本支持SSLv2,SSLv3和TLSv1.0。从Openssl 1.0.1开始,添加了对TLSv1.1和TLSv1.2的支持。
答案 2 :(得分:1)
这很笨拙,但您可以从s_client
或s_server
的使用消息中获取此消息,这些消息在编译时#if
以匹配支持的协议版本。使用像
openssl s_client -help 2>&1 | awk '/-ssl[0-9]/-tls[0-9]/{print $1}'
# in older releases any unknown -option will work; in 1.1.0 must be exactly -help
答案 3 :(得分:1)
这对我有用:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.newStr = '1.1.1.2/23';
$scope.string = $scope.newStr;
$scope.tokens = $scope.string.split("/")
for(let i=0; i<$scope.tokens.length; i++)
{
console.log($scope.tokens[i]);
}
});
如果这是错误的,请告诉我。
答案 4 :(得分:0)
尝试以下命令:
openssl ciphers
这应该会生成您的openssl版本支持的所有密码的列表。
要查看一组特定的密码(例如只是sslv3密码),请尝试:
openssl ciphers -ssl3
答案 5 :(得分:-2)
使用s_client运行OPENSSL命令时,这是输出。请参阅密码,如果密码为NULL,则表示不支持TLS版本。
TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : ECDHE-RSA-AES256
Session-ID: A84600002D4945DE6
Session-ID-ctx:
Master-Key:
Start Time: 15852343333860
Timeout : 2343 (sec)
Verify return code: 0 (ok)