返回博客

SSL 证书有效期:现在 200 天,2027 年 100 天,2029 年 47 天

CA/Browser Forum 缩短 TLS 证书有效期的时间表、Let's Encrypt 的变化,以及如何在手动续期变成每月苦差事之前实现自动化。

2026年10月20日SiteXraySiteXray
SSL 证书有效期:现在 200 天,2027 年 100 天,2029 年 47 天

过去很多年,公开 SSL/TLS 证书最长可以用 398 天,续期就是每年一次的日历提醒。这个时代结束了。根据 CA/Browser Forum 的 SC-081v3 投票,证书最长有效期分三步缩短,第一步已经生效。

时间表

日期证书最长有效期域名验证复用期
2026 年 3 月 15 日之前398 天398 天
2026 年 3 月 15 日200 天200 天
2027 年 3 月 15 日100 天100 天
2029 年 3 月 15 日47 天10 天

在每个日期之前签发的证书会一直有效到自然过期。有些 CA 提前执行了:DigiCert 从 2026 年 2 月 24 日起就不再签发超过 199 天的证书。

Let's Encrypt 的变化

Let's Encrypt 的证书一直是 90 天,但它也在缩短:

  • 2026 年 5 月 13 日: 可选的 tlsserver 配置签发 45 天证书。
  • 2027 年 2 月 10 日: 默认的 classic 配置改为 64 天,授权复用期从 30 天降到 10 天。
  • 2028 年 2 月 16 日: 默认改为 45 天,授权复用期只有 7 小时。
  • 任何人都可以选用 shortlived 配置,获得 6 天有效期的证书。

对还在手动续期的人来说,之前的两个变化也很关键:Let's Encrypt 已经停止发送到期提醒邮件,并在 2025 年 5 月用 CRL 取代了 OCSP 地址。没人会再提醒你了,忘记续期的第一个信号就是浏览器报错。

为什么手动续期行不通了

有效期缩短到 47 天后,手动续期意味着每张证书大约每个月都要续一次,永无止境。习惯买一年期证书再粘贴到控制面板里的团队,要么自动化,要么出故障。这正是这项改革的目的:证书更换得越频繁,私钥泄露的损失就越小,也逼着大家建立起让吊销真正可行的自动化流程。

怎么实现自动化

  • 使用 ACME 协议。 Certbot、acme.sh、Caddy(内置)、Traefik、Kubernetes 上的 cert-manager,以及大多数主机面板都支持 ACME。DigiCert、Sectigo 等商业 CA 也提供 ACME 端点。
  • 按时机续期,而不是按固定天数。 Let's Encrypt 推荐使用支持 ACME Renewal Information(ARI) 的客户端,由它告诉你何时续期。没有 ARI 的话,在有效期过去约三分之二时续期,而不是固定「每 60 天」。
  • 续期后重新加载服务。 磁盘上的证书更新了,nginx、Apache 或负载均衡器不重载也没用。加一个部署钩子。
  • 覆盖证书所在的每个地方: CDN 边缘、负载均衡、源站、邮件服务器、内部 API。最容易被忘的是源站。
  • 从外部监控。 自动化会悄无声息地失败(DNS 变更、防火墙规则、DNS 验证用的 API 令牌过期)。在到期前 30、14、7 天告警的外部检查能及时发现。

现在就检查你的证书

网站漏洞扫描器会显示证书签发者、剩余天数和证书的总有效期。总有效期超过 100 天,通常说明是手动购买和安装的,会被标记为手动续期风险。

如果你有多个站点,希望在任何证书过期前收到提醒,监控服务每周复扫,并在到期前 30、14、7 天发邮件提醒。