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

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

我在 CentOS 5.9 上。

我想从 Linux shell 确定远程 Web 服务器是否专门支持 TLS 1.2(而不是 TLS 1.0)。有没有简单的方法可以检查?

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

答案1

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

示例命令如下:

openssl s_client -connect google.com:443 -tls1_2

如果您获得证书链和握手,则表明相关系统支持 TLS 1.2。如果您看不到证书链,并且看到类似于“握手错误”的内容,则表明它不支持 TLS 1.2。您还可以分别使用 -tls1 或 tls1_1 测试 TLS 1 或 TLS 1.1。

答案2

您还可以使用以下命令列出所有支持的密码:

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

相关内容