Sectigo的AddTrust根证书于2020年5月30日到期,这在OpenSSL 1.0.x和GnuTLS客户端中引起了问题



Sectigo证书颁发机构(Comodo)用于交叉签名AddTrust根证书到期之前警告用户,以确保与存储中没有新USERTrust根证书的旧设备兼容。

AddTrust已于UTC 2020年5月20日10:48:38过期。不幸的是,问题不仅出现在过时的浏览器中,而且出现在基于OpenSSL 1.0.x,LibreSSL和GnuTLS的非浏览器客户端中例如,在Roku机顶盒(请参阅日期为05/30/2020的技术支持答案),Heroku,Fortinet,Chargify应用程序,Linux下的.NET Core 2.0平台等上

假定该问题仅影响旧系统(Android 2.3,Windows XP,Mac OS X 10.11,iOS 9等),因为现代浏览器可以使用第二个USERTRust根证书,如图所示。


证书链

但是,实际上,在2020年5月30日,使用免费的OpenSSL 1.0.x和GnuTLS库的数百个Web服务开始崩溃。由于证书过时错误,已停止建立安全连接。OpenSSL错误跟踪器中

的相应票证(用户名和密码:guest)仅在2020年2月25日关闭,仅适用于OpenSSL 1.1.0版本。

为什么会发生错误


客户端连接时,TLS服务器将其证书发送给它。客户端必须构建从服务器证书到客户端信任的根证书的证书链。为了帮助客户端建立此链,服务器将发送一个附加的或多个中间证书以及它自己的证书。



例如,一个网站发送以下两个证书:

1。
主题= * .habr.com
发布者= Sectigo ECC域验证安全服务器CA
开始行动= 2020年5月30日,星期六 3:00:00
到期日期= 2021年12月3日星期五 2:59:59

2。
主题= Sectigo ECC域验证安全服务器CA
发布者= USERTrust ECC认证机构
开始行动= 2018年11月2日,星期五 3:00:00
行动结束= 2031年1月1日,星期三 2:59:59

第一个证书属于服务器,由Sectigo证书颁发机构颁发。第二个证书是由USERTrust ECC证书颁发机构颁发的,它是根证书。这两个证书构成了到受信任根的完整链。

但是,USERTrust认证机构是一个相对较新的根源。它创建于2010年,花了很多年的时间让所有客户信任它。去年,有报道称个别客户不信任这个根源。因此,某些服务器会将由AddTrust外部CA Root颁发的其他USERTrust ECC证书颁发机构中间证书发送给客户端。该证书于2000年生成,而他的证书于2020年5月30日到期。

对于合格的证书验证者,包括现代浏览器,这不会造成问题,因为它们本身可以在USERTrust之前建立信任链,但是使用OpenSSL 1.0.x或GnuTLS的客户端存在问题。即使这些客户信任USERTrust根证书颁发机构并希望与之建立链,他们最终仍将获得AddTrust外部CA Root链,这将导致证书验证失败。

Sectigo提供了另一种交叉签名的中间证书AAA证书服务,有效期至2028年。

检查服务


鼓励服务器处理程序和客户端应用程序操作员检查其证书链中是否有过期的AddTrust根证书。

本质上,您只需要从信任链中删除AddTrust外部CA根。

对于服务器操作员,有一项服务:我的连锁证书是什么?,它执行此检查并帮助生成带有所有必需的中间证书的新信任链。由于所有客户端都已在商店中拥有根证书,因此不必在此链中包括根证书。另外,由于SSL握手大小的增加,将其包括在链中的效率很低。

建议客户端应用程序操作员升级到最新的TLS库。如果这不可能,则必须从存储中删除AddTrust外部CA根证书。如果它不在存储库中,则将为新的根证书USERTrust RSA证书颁发机构构建正确的信任链,以便TLS检查正确通过。

要删除AddTrust外部CA根,您需要执行以下操作

  1. 编辑/etc/ca-certificates.conf和评论mozilla/AddTrust_External_Root.crt
  2. update-ca-certificates

为了解决该问题,Fedora和RHEL 建议将AddTrust证书添加到黑名单中:

 trust dump --filter "pkcs11:id=%AD%BD%98%7A%34%B4%26%F7%FA%C4%26%54%EF%03%BD%E0%24%CB%54%1A;type=cert" \
> /etc/pki/ca-trust/source/blacklist/addtrust-external-root.p11-kit
update-ca-trust extract

但是此方法不适用于GnuTLS。

另请参见
: “ 与Sectigo证书2020可30后的问题及解决方法的哈布尔企业博客”





适用于您企业的PKI解决方案。与我们联系+7(499)678 2210,sales-ru@globalsign.com。

All Articles