我在 IIS / Windows 2008R2 上託管一個帶有通配符 ssl 憑證的 ASP.NET 網站。雖然 Chrome 與我的網站配合良好,並在 https 連接上顯示綠色鎖,但 https 詳細資訊提到「過時的加密技術」:
我認為這是由於 SHA1,chrome 在同一視窗中也提到了 SHA1。
然而,根據 Digicert 的 SSL 憑證檢查器,應該使用 SHA256:
現在我不確定發生了什麼以及如何解決這個問題。看起來這篇博文描述了此問題的解決方法,但該解決方法似乎很晦澀(1.步驟:安裝 OpenSSL?),我無法想像這是在 Windows 2008 R2 上執行此操作的官方方法。
我應該如何擺脫 ssl 憑證警告?
編輯:應用後腳本在 Grant 的推薦下,我的 SSLabs 已從 C 改進為 A,Chrome 使用 TLS 1.2 而不是 1.0。然而,「過時的密碼學」警告仍然存在。
答案1
答案2
我正在新的 2012 R2 伺服器上測試這個,當應用亞歷山大哈斯 劇本(AH-Script),我仍然得到過時的密碼學:
我的 Chrome 43 支援以下密碼套件:
[C02B] TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[C02F] TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
[009E] TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
[CC14] TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
[CC13] TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[CC15] TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[C00A] TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
[C014] TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA
[0039] TLS_DHE_RSA_WITH_AES_256_SHA
[C009] TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[C013] TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA
[0033] TLS_DHE_RSA_WITH_AES_128_SHA
[009C] TLS_RSA_WITH_AES_128_GCM_SHA256
[0035] TLS_RSA_AES_256_SHA
[002F] TLS_RSA_AES_128_SHA
[000A] SSL_RSA_WITH_3DES_EDE_SHA
[00FF] TLS_EMPTY_RENEGOTIATION_INFO_SCSV
所以使用的是:[C013],很靠下。 Chrome 似乎更喜歡 SHA256 和 GCM 而不是 CBC。
我採用了 AH 腳本並將 [009E](從頂部數第 3 個)添加到密碼套件列表中,重新啟動後我現在得到:
我試圖讓前兩個 [C08B] 和 [C02F] 工作,但失敗了。
因此,透過修復腳本並運行它,我得到了一個modern cryptography
.
我刪除了現有的密碼之一,因為該字串的長度有限,我的字串的開頭現在如下所示:
$cipherSuitesOrder = @(
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256',
'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',
編輯:我剛剛在 sslLabs.com 上對此進行了測試,並使用TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
給了我一個B
, ,低於A
我之前的值。
此伺服器支援弱 Diffie-Hellman (DH) 金鑰交換參數。等級上限為 B。
所以你可能不想使用它。我不知道為什麼 Chrome 的評分這麼高?
答案3
Chrome 中的「過時的加密」訊息是因為伺服器支援較弱的 Diffie-Hellman (DH) 金鑰交換。更具體地說,這記錄在密碼套件黑名單上的 HTTP/2 規範。
當您使用來自 Alexander Hass 的 PowerShell 腳本(來自當前接受的答案),然後它包括這些密碼列入黑名單:
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
如果你看一下Azure 應用程式服務,它使用以下密碼套件順序:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
這在 Qualys SSL 實驗室(2016 年 7 月)中獲得了 A 評級,並支援大多數常見瀏覽器的前向保密。
我發現 Chrome 問題是因為在 Windows 10 上的本機 IIS Express 上,它會ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
在 Chrome 51 中傳回錯誤訊息,並且在我的系統上配置了列入黑名單的密碼套件。