我在 IIS / Windows 2008R2 上托管了一个带有通配符 SSL 证书的 ASP.NET 网站。虽然 Chrome 可以很好地与我的网站配合使用,并显示绿色锁定 https 连接,但 https 详细信息中提到了“过时的加密”:
我认为这是由于 SHA1 造成的,chrome 在同一个窗口中也提到了这一点。
但是,根据 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-Script 并将 [009E] (从顶部开始第三个)添加到密码套件列表中,重新启动后我得到:
我尝试让前两个 [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 Labs(2016 年 7 月)中获得了 A 级评级,并且支持大多数常见浏览器的前向保密。
我发现 Chrome 问题是因为在 Windows 10 上的本地 IIS Express 上,它会ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
在 Chrome 51 中返回错误消息,并且我的系统上配置了黑名单密码套件。