如何从RHEL / CentOS shellvalidation远程Web服务器是否支持TLS 1.2?

我在CentOS 5.9上。

我想从linux shell中确定远程Web服务器是否特别支持TLS 1.2(而不是TLS 1.0)。 有没有简单的方法来检查?

我没有看到openssl上的相关选项,但也许我忽略了一些东西。

你应该使用openssl s_client,你正在寻找的选项是-tls1_2。

示例命令是:

openssl s_client -connect google.com:443 -tls1_2

如果您获得证书链和握手,则您知道相关系统支持TLS 1.2。 如果您看不到证书链,并且类似于“握手错误”,则您知道它不支持TLS 1.2。 您也可以分别使用-tls1或tls1_1testingTLS 1或TLS 1.1。

您也可以列出所有支持的密码:

 nmap --script ssl-enum-ciphers -p 443 www.example.com 

然后检查输出。 如果支持,你会得到这样的东西:

 | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | compressors: | NULL