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