Windows7 上的 DST Root CA X3 已过期。我需要安装哪些更新?有解决方法吗?

Windows7 上的 DST Root CA X3 已过期。我需要安装哪些更新?有解决方法吗?

我使用的是 Windows 7 SP1,今天(9 月 30 日),我面临 DST Root CA X3 证书到期的问题。

该问题(可能会影响数百万用户)在此处有完美描述:https://scotthelme.co.uk/lets-encrypt-old-root-expiration/

万一:按 Win+R,打开inetcpl.cpl,选择“内容”选项卡,选择“证书”按钮,选择“受信任的根证书颁发机构”选项卡,选择“DST Root CA X3”证书并查看其到期日期。在我的系统上,它是 2021 年 9 月 30 日。

Chrome 和 Edge 无法打开大多数 https 网站。Firefox 运行正常。在另一台运行 Win7 的 PC 上,Chrome 和 Edge 仍然可以工作。我想说这很奇怪,但我怀疑它们明天就会停止工作。

根据这篇文章,通常情况下(即,如果你安装了所有更新),这将影响使用 WinXP SP2 或更早版本的人。但由于我在 Win7 上禁用了更新,所以我也遇到了这个问题。

我不想安装全部Win7 的更新,因为我的经验是它经常会破坏系统。顺便说一句,我甚至不确定它们是否仍然可以从 Microsoft 下载。所以我只想要这个可以解决此 DST Root CA X3 问题的更新。所以我的问题是我需要安装哪个更新?

如果有一些除了安装更新之外的解决方法,我们也欢迎。

答案1

“更新”只是实际的非交叉签名 ISRG 根 X1Let's Encrypt 今后将使用的认证机构。(下载“自签名 DER”版本。)

需要解决的问题

软件方面无需更新,因为 Windows 内置的 X.509 和 TLS 堆栈已经非常擅长处理多个验证链。(它必须能够应对使用交叉签名的美国国防部联邦 PKI广泛地. 看看这张图!相比之下,AddTrust 和 ISRG 的情况相对温和。)

因此,一开始,当网站仍在向您发送DST → ISRG X1 → LE链时,只需在“受信任的根证书颁发机构”中安装相同 X1 根的另一个有效版本即可 - Windows 将理解它基本上是相同的 CA(由于具有相同的主题和公钥)并将短路验证,完全忽略 DST。

一段时间后,当网站完成自动 LE 续订(并开始发送新的直接ISRG X1 → LE链)后,交叉签名和备用路径将不再是问题的一部分 - 此时它将仅仅是“网站使用了您没有的根 CA”,安装 X1 根再次成为解决方案。

如何修复

对于大多数用户来说,这很可能会在他们第一次访问受影响的网站时通过“自动根证书更新”功能自动发生。(例如,我刚刚启动了 Windows 7 VM 并访问了一个这样的网站——而第一的第一次访问显示过期错误,第二次没有,并且“ISRG Root X1”自行出现在 certmgr.msc 中。)

从 Windows 7(或 Vista?)开始,此功能不是Windows 更新的一部分(根是按需下载的,它们不作为标准更新包分发),但我猜你可能也禁用了它。在这种情况下,下载 ISRG Root X1 证书摘自 LE 网站并手动将其导入到机器范围的 Trusted Roots 存储。

  • 通过 GUI:

    Windows“证书信息”对话框的屏幕截图,显示已下载的 ISRG X1 .der 文件的内容,其中“安装证书”用红色圈出。 “证书导入向导”第一页的屏幕截图,其中“存储位置”选项“本地机器”用红色圈出。 第二页的截图,其中“证书存储”字段用红色圈出“受信任的根证书颁发机构”。

  • 通过命令行:certutil -ent -addstore Root isrgrootx1.der

这实际上没有解决的问题

请注意,Firefox 之所以单独列出,是因为它既不使用 Windows CA 存储(它有 Mozilla CA 程序),也不使用 Windows X.509/TLS 代码(它使用 NSS 和 mozilla::pkix)——您使用的版本已经内置了 ISRG 根,独立于操作系统。Thunderbird 和 SeaMonkey 也是如此。

你可能还会遇到在 Windows 上使用 OpenSSL 的程序(ssleay32.dll 是免费提供的)——它们通常使用“cURL 证书包”,这实际上只是 Mozilla 的 CA 列表重新打包成一个curl-ca-bundle.crt文件。如果程序有点旧,您可能需要下载此文件的新版本并将其放在正确的位置。

但是,如果此类程序使用非常旧的 OpenSSL 版本,或者它们没有启用 OpenSSL 1.1.x 中的“备用链”功能,那么它们仍然会在使用 DST 交叉签名链的网站上遇到问题 - 唯一的解决方法是获取该应用程序的更新版本,或者等待(毕竟,DST 链最终会被淘汰)。

相关内容