2021年9月30日有点不一般,大名鼎鼎的Let's Encrypt曾经签发的所有SSL证书使用的根证书DST Root CA X3都会到期,如下图。
Let's Encrypt最新签发的SSL证书已经把DST Root CA X3换成了另外一个距离到期时间还长着的ISRG Root X1,但是注意:您的服务器上的Openssl低于1.1版本,还是会报 certificate has expired 的错误,因为Openssl旧的版本它会优先使用长度更短的“DST Root CA X3”与HTTPS网站做验证交换,一旦验证失效,就会报错终止,后续不再尝试用新的根证书“ISRG Root X1”做验证。OpenSSL 1.1.X 已修复该 Bug。
根源找到了,下面开始解决。思路就是移除DST Root CA X3根证书或升级Openssl至最新版本。
Ubuntu 解决方法:
apt-get update apt-get install openssl -y
Debian 解决方法:
1、修改“/etc/ca-certificates.conf” 删除“mozilla/DST_Root_CA_X3.crt”
如:sed -i 's/mozilla/DST_Root_CA_X3.crt//g' /etc/ca-certificates.conf
2、删除“/etc/ssl/certs/”中的DST_Root_CA_X3.pem 3、执行:update-ca-certificates
CentOS解决方法:
rm /etc/ca-certificates/trust-source/DST_Root_CA_X3.pem update-ca-trust