Sectigo/Comodo 根证书过期的解决办法

更多文档可以参考:   其他SSL证书相关 ,


6月1日 更新:
可不重新签发证书,仅需替换中级证书 即可
中级证书下载
请下载后,解压,找到对应的中级证书, 例如 DV证书,请使用里面的 DV.ca-bundle 文件,该文件可用记事本打开,复制里面的文件,替换服务器上对应的中级证书
----------------------------------------------------------------------

AddTrust External CA 是一个存在时间很长的根证书 , 即将于5月底到期,在这个根证书到期之后, 客户端和浏览器将切换到证书链上的另外一个根证书 USERTRUST CA ,这个根证书的到期时间在 2038年 ,这个是经 AddTrust External CA交叉签名后的签发的根证书,

    AddTrust External CA Root  (根证书 即将到期)
       - - ->USERTrust RSA Certification Authority   (交叉签名根证书 2010年 - 2038年到)
          - - ->Sectigo RSA Domain Validation Secure Server CA
             - - ->*.test.certificatetest.com

Sectigo根证书 USERTrust RSA Certification Authority 目前已经植入到系统 或浏览器 的下列版本, 以及更新的版本

Apple:
    macOS Sierra 10.12.1 Public Beta 2
    iOS 10
Microsoft:
    Windows XP (via Automatic Root Update; note that ECC wasn't supported by Windows until Vista)
    Windows Phone 7
Mozilla:
    Firefox 3.0.4 (COMODO ECC Certification Authority)
    Firefox 36 (the other 3 roots)
Google:
    Android 2.3 (COMODO ECC Certification Authority)
    Android 5.1 (the other 3 roots)
Oracle:
    Java JRE 8u51
Opera:
    [Browser release on December 2012]
360 Browser:
    SE 10.1.1550.0 and Extreme browser 11.0.2031.0

可能受到影响的系统:

目前主流使用的各种版本操作系统,浏览器不会任何影响。

可能受到影响的是小部分长期没有更新的老旧操作系统,一些无法更新的老旧嵌入式设备。

操作系统厂商会不定期发布各种安全,功能性方面的更新补丁, 这里面也包括系统的根证书库,上面列出的各种系统平台,其中部分老的操作系统是通过系统更新的方式植入这个根证书的, 如果有的老版本操作系统长期没更新,那就是可能系统没有这些新的根证书  ,这种情况下,在浏览器的证书链看到的根证书就是 addtrust external CA , 那么在2020年5月份之后,访问网站可能就会有问题,提示错误 。

 



解决办法:
通常情况下,您无需进行任何操作,在旧的根证书过期后,浏览器会使用 交叉签名根证书 USERTrust RSA Certification Authority 或其他相应的根证书,但是如果您的系统或设备无法更新根证书库的导致访问异常,您可以采用以下方法解决:
 ,
sectigo已经启用AAA Certificate Services根证书
Sectigo除了 这个AddTrust External CA Root 这个老的根证书外,还有另外一个比较老的根证书  AAA Certificate Services  2028到期 ,Sectigo已经启用一个使用 AAA Certificate Services根证书的交叉签名证书  ,就是说对于可能在5月份之后会有问题的部分长期不更新的老旧操作系统访问安装有Sectigo证书的网站,有办法解决由于根证书到期造成的问题,但是需要把已经在使用的  由 AddTrust External CA Root 签发的证书重新签发一次,替换服务器上目前在使用的证书。

AAA Certificate Services根证书支持更老的系统平台:

Apple iOS 3.
Apple macOS 10.4.
Google Android 2.3.
Mozilla Firefox 1.
Oracle Java JRE 1.5.0_08.

 

CURL 命令可能碰到问题

如果您的服务器上相关应用使用CURL 命令 访问的域名因为sectigo根证书过期导致出错,您可以删除客户端上的这个过期的根证书  

常见操作系统的根证书库:

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7
"/etc/ssl/cert.pem",                                 // Alpine Linux

找到根证书库文件,删除 AddTrust External CA 这个过期的根证书代码 ,该证书代码如下 

-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----

例如 : debian 操作系统的操作方式:

找到  /etc/ssl/certs/ca-certificates.crt 这个文件,打开,并找到以上证书代码,把它删掉 ,保存 

您可能还需要删除与根证书库文件相同目录下的这个过期的根证书, 例如 debian 系统,在 /etc/ssl/certs/ 目录下还存在一个名称为  AddTrust_External_Root.pem  的根证书,需要这个文件也删掉

完成这两个操作后  ,服务器上的curl 命令打开 sectigo的4月30日之前签发的证书 就不会有问题了。