Linux

如何從 RHEL/CentOS shell 驗證遠端 Web 伺服器是否支持 TLS 1.2?

  • October 22, 2014

我在 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_1 測試 TLS 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

引用自:https://serverfault.com/questions/638691