Let's Encrypt 根证书 DST Root CA X3 过期后续签有影响吗?

文章导读
Let's Encrypt 证书续签本身不受 DST Root CA X3 过期影响,但旧版操作系统和软件可能因无法验证新证书链而报错。服务端正常续签即可,重点在于确保客户端信任库已更新或证书链配置为 ISRG Root X1。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

Let's Encrypt 证书续签本身不受 DST Root CA X3 过期影响,但旧版操作系统和软件可能因无法验证新证书链而报错。服务端正常续签即可,重点在于确保客户端信任库已更新或证书链配置为 ISRG Root X1。

先说结论:续签操作无阻碍,但旧环境验证会失败,需更新信任库或调整证书链。

  • 适合场景:服务器续签证书、旧系统访问 HTTPS 报错排查
  • 重点看:客户端是否内置 ISRG Root X1 根证书
  • 别忽略:OpenSSL 版本低于 1.1.0 可能优先匹配过期根证书

命令速用版

根据服务器环境和客户端类型,选择以下命令更新证书或配置链。

Linux 系统更新 CA 证书:

apt-get update && apt-get install `--reinstall` ca-certificates -y
update-ca-certificates

Certbot 续签指定新链:

certbot certonly `--preferred-chain`="ISRG Root X1" -d 你的域名

acme.sh 指定新链:

acme.sh `--issue` `--dns` dns_ali `--preferred-chain` "ISRG" -d 你的域名

为什么会这样

核心原因是信任链中的旧根证书 DST Root CA X3 已于 2021 年 9 月 30 日到期,而新根证书 ISRG Root X1 未被旧系统内置。

Let's Encrypt 早期为了兼容旧系统,使用 DST Root CA X3 交叉签名新证书。当 DST 根证书过期后,依赖该旧根证书进行验证的设备(如 Windows 7、Android 7.1 以下、旧版 OpenSSL)会判定证书链不可信。现代系统已内置 ISRG Root X1,因此不受影响。

Let's Encrypt 根证书 DST Root CA X3 过期后续签有影响吗?

分步处理

1. 服务端配置优化

在续签证书时,强制指定使用 ISRG Root X1 链,避免发送包含过期 DST 根证书的完整链。

2. 旧系统客户端修复

对于 Windows 7,手动导入 ISRG Root X1 根证书到“受信任的根证书颁发机构”存储,并删除过期的 DST Root CA X3。

3. 开发环境修复

PHP 或 Python 脚本报错时,更新 cacert.pem 文件,并在配置文件中指向新路径。

怎么验证是否生效

使用 OpenSSL 命令检查服务器返回的证书链是否包含 ISRG Root X1 且不依赖过期根证书。

Let's Encrypt 根证书 DST Root CA X3 过期后续签有影响吗?
openssl s_client -connect 你的域名:443 -showcerts

观察输出中是否有 ISRG Root X1 且验证返回 Verify return code: 0 (ok)

常见坑

1. OpenSSL 1.1.0 以下版本存在 Bug,可能优先匹配短链的过期根证书,需升级 OpenSSL。

2. Android 7.1.1 以下版本默认不检查根证书过期时间,但部分应用层验证仍会失败。

3. Windows 7 停止主流支持,不会自动更新根证书,必须手动干预。

常见问题

续签后网站打不开怎么办?

通常是客户端信任库未更新,尝试在浏览器中手动导入 ISRG Root X1 根证书。

Android 旧版本手机能访问吗?

Android 7.1.1 以下版本可能无法验证新链,需升级系统或使用特定浏览器。

服务器需要重启吗?

更新证书文件后需重载 Web 服务(如 Nginx/Apache),更新系统 CA 库后建议重启。

参考来源

  • Let's Encrypt 官方文档:DST Root CA X3 Expiration (https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/)
  • 技术博客:Let's Encrypt 证书过期导致 Win7 浏览器报错?5 分钟搞定根证书更新 (含避坑指南)
  • 技术博客:Composer 安装证书过期?更新 CA 证书解决认证失败
  • 技术博客:根证书过期?Certbot 三招搞定交叉签名与证书链管理