昨天我们在博客上分享了有关 IdenTrust 证书(DST Root CA X3)终止的消息,该证书用于签署 Let's Encrypt CA 证书,这导致使用旧版本 OpenSSL 和 GnuTLS 的项目在验证 Let's Encrypt 证书时出现问题。
这些问题也影响了 LibreSSL 库,其开发人员没有考虑到 Sectigo (Comodo) 证书颁发机构的 AddTrust 根证书过期后发生的故障的过去经验。
在 OpenSSL 版本 1.0.2 及更早版本以及 GnuTLS 版本 3.6.14 之前的版本中,如果用于签名的根证书之一过期,即使其他有效证书仍然存在,也会出现阻止正确处理交叉签名证书的错误。
错误的本质在于,早期版本的 OpenSSL 和 GnuTLS 将证书解析为线性链,而根据 RFC 4158,证书可以表示具有多个信任锚的有向分布式饼图,必须考虑这些信任锚。
OpenBSD 项目今天紧急发布了 6.8 和 6.9 分支的补丁,修复了 LibreSSL 中交叉签名证书验证的问题。信任链中的一个根证书已过期。作为临时解决方案,建议在 `/etc/installurl` 文件中将 HTTPS 更改为 HTTP(这不会影响安全性,因为更新仍然会使用数字签名进行验证),或者选择其他镜像站点(ftp.usa.openbsd.org、ftp.hostserver.de、cdn.openbsd.org)。
您还可以从 /etc/ssl/cert.pem 文件中删除过期的 DST Root CA X3 证书,并且用于安装二进制系统更新的 syspatch 实用程序已停止在 OpenBSD 上工作。
使用 DPorts 时会出现类似的 DragonFly BSD 问题。 启动 pkg 包管理器时,会生成证书验证错误。 今天已将修复添加到主分支 DragonFly_RELEASE_6_0 和 DragonFly_RELEASE_5_8。 作为解决方法,您可以删除 DST Root CA X3 证书。
IdentTrust证书被取消后发生的一些故障如下:
- Let's Encrypt 证书验证过程已在基于 Electron 平台的应用程序中中断。 此问题已在更新 12.2.1、13.5.1、14.1.0、15.1.0 中修复。
- 使用旧版 GnuTLS 库中包含的 APT 包管理器时,某些发行版无法访问包存储库。
- Debian 9 受到未打补丁的 GnuTLS 软件包的影响,导致未及时安装更新的用户无法访问 deb.debian.org(修复 gnutls28-3.5.8-5 + deb9u6 于 17 月 XNUMX 日提出)。
- acme客户端在OPNsense上崩溃,问题提前报告,但开发者未能及时发布补丁。
- 该问题影响了 RHEL / CentOS 1.0.2 上的 OpenSSL 7k 软件包,但一周前对于 RHEL 7 和 CentOS 7,生成了 ca-certificate-2021.2.50-72.el7_9.noarch 软件包的更新,从中IdenTrust 证书被删除,即问题的表现被预先阻止。
- 由于更新较早发布,Let's Encrypt 证书验证问题仅影响旧 RHEL / CentOS 和 Ubuntu 分支的用户,这些用户不定期安装更新。
- grpc 中的证书验证过程已损坏。
- 未能创建 Cloudflare 页面平台。
- 亚马逊网络服务 (AWS) 问题。
- DigitalOcean 用户无法连接到数据库。
- Netlify 云平台故障。
- 访问 Xero 服务时出现问题。
- 尝试与 MailGun Web API 建立 TLS 连接失败。
- macOS 和 iOS 版本(11、13、14)中的错误,理论上应该不会受到问题的影响。
- Catchpoint 服务失败。
- 访问 PostMan API 时无法检查证书。
- Guardian 防火墙崩溃了。
- monday.com 支持页面中断。
- Cerb 平台上的崩溃。
- 无法在 Google Cloud Monitoring 中验证正常运行时间。
- Cisco Umbrella 安全 Web 网关上的证书验证问题。
- 连接到 Bluecoat 和 Palo Alto 代理的问题。
- OVHcloud 无法连接到 OpenStack API。
- 在 Shopify 中生成报告时出现问题。
- 访问 Heroku API 时出现问题。
- Ledger Live Manager 中的崩溃。
- Facebook 应用程序开发工具中的证书验证错误。
- Sophos SG UTM 中的问题。
- cPanel 中的证书验证问题。
作为替代方案,建议从系统存储(/etc/ca-certificates.conf 和 /etc/ssl/certs)中删除“DST Root CA X3”证书,然后运行命令“update-ca -ificates -f -v”。
在 CentOS 和 RHEL 上,您可以将“DST Root CA X3”证书添加到黑名单中。