全球最大HTTPs证书提供商之一的Let’s Encrypt根证书将于9月30日过期,请抓紧时间及时更新,否则将面临不受计算机、设备或Web浏览器信任的困扰。
大量旧 Linux 系统,在2021年9月30日之后,都会面临此问题。Ubuntu 16.04 解决方法:
有用户在2021年5月19日反馈了这个 bug,官方发布重新编译过的 OpenSSL 1.0.2g 解决了这个问题。
通过官方源将 OpenSSL 组件更至最新即可。在2021年7月28日之后全新安装的 Ubuntu 16.04,也不会再碰到此问题。
apt-get update apt-get install openssl -y
Debian 8 Debian 9 解决方法:
在证书配置文件中,删除“DST_Root_CA_X3”证书,并重载根证书配置:
sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf && update-ca-certificates -f
原因:
问题就出在 OpenSSL 1.0.X,它会优先使用长度更短的“DST Root CA X3”与HTTPS网站做验证交换,该证书自从2021年9月30日后过期,一旦验证失效,就会报错终止。后续不再尝试用新的根证书“ISRG Root X1”做验证。OpenSSL 1.1.X 已修复该 Bug。
Debian 9 附带的“libcurl3”软件包中,有一个名为“libssl1.0.2”的共享库依赖,该依赖使 OpenSSL 强制以 1.0.2 版本运行。所以即使 Debian 9 内置了 OpenSSL 1.1.0l,它还是会重现这个问题。并且由于“libcurl3”是 Debian 9 默认源中“curl 7.52.1”的必要依赖,所以只要通过官方源安装 curl 组件,就会出现这个问题。
CentOS 6/7 解决方法:
删除系统内置的,受信任的根证书目录中的“DST_Root_CA_X3”证书:
rm -rf /etc/ca-certificates/trust-source/DST_Root_CA_X3.pem
更新证书信任列表配置:
update-ca-trust
可能涉及到的 Linux 发行版:
CentOS 7 与 RHEL 7 及更旧版本;
Amazon Linux 和 Amazon Linux 2;
Ubuntu 14.04 及更旧版本;
Debian 8、Debian 9 等更旧版本;
Android 4.0 及更旧版本;
任何使用 OpenSSL 1.0.X 版本,且官方源未发布针对 OpenSSL 1.0.X bug 修复的二进制编译文件的其他 Linux 衍生版本。
对于其他 Linux 发行版,解决问题的核心思路就是:
1. 删除系统内置根证书信任区,或证书管理器配置文件中的“DST_Root_CA_X3”证书;
2. 重载证书管理器配置。
后果同样为失去兼容旧系统,具体命令和方法请自行探究。
评论前必须登录!
注册