代碼訪問使用Let's Encrypt證書的網站提示certificate has expired的解決方法


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM