是否可以使用 openssl 命令来检查实时网站上的 SSL 证书的密码?
例如使用类似的东西:
openssl s_client -connect example.com:443 -crlf
上述命令将与密码一起返回大量信息:
Cipher : TLS_AES_256_GCM_SHA384
我正在寻找仅返回密码值的 openssl 命令。
答案1
尝试 grep
$ echo -n '' | openssl s_client -connect example.com:443 2>&1 | grep -Po "(?<=Cipher is ).*$"
TLS_AES_256_GCM_SHA384
或者您也可以将其包装到像这样的函数中……
$ function get-s_clientCipher {
echo -n '' |
openssl s_client -connect $1 2>&1 |
grep --perl-regexp --only-matching -- "(?<=Cipher is ).*$";
}
...然后像这样使用它...
$ get-s_clientCipher example.com:443
TLS_AES_256_GCM_SHA384
但我不确定这是否对你有帮助。因为结果很大程度上取决于你的本地环境。所以它几乎没有什么普遍意义。——所以如果你想对服务器的密码进行更一般的诊断,那么使用类似https://testssl.sh/shell 脚本。(或者,如果服务器可以通过互联网访问,请尝试https://www.ssllabs.com/ssltest/)