ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误 Google Chrome - 无法访问此网站可能暂时无法访问,或者可能已永久移至新网站

5 iis ssl google-chrome certificate ssl-certificate

今天遇到ERR_SSL_KEY_USAGE_INCOMPATIBLE错误:

This site can't be reached
The webpage at https://... might be temporarily down or it may have moved permanently to a new web address.
ERR_SSL_KEY_USAGE_INCOMPATIBLE
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为什么会发生这种情况?我该如何解决?

Von*_*onC 15

根据您提供的标签,此 SSL 错误发生在 Google Chrome 浏览器上,涉及IIS(Internet 信息服务)和 SSL 证书。
ERR_SSL_KEY_USAGE_INCOMPATIBLE错误特别表明 SSL 证书的使用方式或 Chrome 识别方式存在问题,这可能是由于 IIS 中的配置错误或证书本身的问题造成的。

该线程报告了类似的问题:

我们找到了解决办法。删除位于 的用户本地状态文件C:\users\(username)\AppData\Local\Google\Chrome\User Data\Local State。删除后问题就消失了。让我知道这是否适合您。

编辑:确认 MacOS 上也发生这种情况。需要转到/ 并从中Library/Application Support/Google删除文件。Local State

和:

此问题的根本原因是 Chrome 变体,您可以在 Chrome 版本 115、116 和 117 的发行说明中阅读更多相关信息,也可以在Google 之前的发行说明中阅读。

搜索“需要 X.509 密钥使用扩展以将 RSA 证书链接到本地​​根”的注释,以阅读 Google 分享的有关此更改的简介。

没有可以调整的标志来恢复此变体,但 Chrome 提供了RSAKeyUsageForLocalAnchorsEnabled在您更新证书时暂时禁用此变体的策略。


准确解释它的作用以及为什么它不会损害 Chrome 的安全性。

删除Local StateChrome 用户数据目录中的文件是一个故障排除步骤。

正如Giovanni Esposito评论中指出的那样:“这只是一个(糟糕的)解决方法,因为你每次都需要这样做”

真的。ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误的实际解决方案是根据 Chrome 的要求,使用正确的密钥用法扩展更新 SSL 证书。利用该RSAKeyUsageForLocalAnchorsEnabled政策只能提供一个缓刑,允许在证书达到标准的同时继续运营。

删除Local State文件的作用:

Chrome 运行称为“变体”的实验,本质上是针对新功能或更改的 A/B 测试。删除该Local State文件会将这些变体重置为其默认状态。
Local State文件保存 Chrome 的临时状态信息,包括一些未通过标准设置界面公开的设置和状态。
如果文件损坏,可能会导致错误。删除它会强制 Chrome 创建一个新Local State文件,这可以解决此类错误。

为什么它不会损害安全性:

Local State文件不直接链接到您的个人浏览数据,例如历史记录、书签或保存的密码。它包含有关浏览器状态的信息,但不存储个人标识符或加密密钥等敏感信息。
无论如何,Chrome 都会Local State在下次启动时重新生成该文件,恢复默认状态,而不会出现可能导致问题的变化。


关于RSAKeyUsageForLocalAnchorsEnabled 政策:

RSAKeyUsageForLocalAnchorsEnabled 管理员可以使用此策略预览未来版本的行为,这将默认启用此检查。届时,此策略将暂时保留给需要更多时间更新的管理员。

未通过此检查的连接将失败并显示错误ERR_SSL_KEY_USAGE_INCOMPATIBLE。因此错误而失败的站点可能有配置错误的证书。
现代 ECDHE_RSA 密码套件使用“ digitalSignature”密钥使用选项,而旧版 RSA 解密密码套件使用“ keyEncipherment”密钥使用选项。如果不确定,管理员应将两者都包含在用于 HTTPS 的 RSA 证书中。

   true = Enable RSA key usage checking
   false = Disable RSA key usage checking
   not set = Use the default setting for RSA key usage checking
Run Code Online (Sandbox Code Playgroud)

同一线程包括实际的解决方案:

我们遇到了同样的问题,解决方案是创建一个新的自签名证书,该证书具有或使用密钥用法创建:"Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing (86)",之后我们所有的内部网站现在甚至在 Chrome 中都可以工作。
您应该使用该使用密钥创建它,并且它应该来自 OpenSSL v3 版本。

https://storage.googleapis.com/support-forums-api/attachment/message-245153877-325753115131158525.png

要使用 OpenSSL 创建有效证书,请使用以下参数keyUsage- digitalSignature, keyCertSign, cRLSign


小智 6

自 Edge 121 现在强制执行检查以来,等效的 Edge 注册表设置是在以下位置创建 DWORD:

Windows Registry Editor Version 5.00
   
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"RSAKeyUsageForLocalAnchorsEnabled"=dword:00000000
Run Code Online (Sandbox Code Playgroud)