浏览器与根证书计划
Chrome、Mozilla、苹果不再信任 Entrust 新证书
2024 年 11 月 12 日起,Chrome 不再信任链到 Entrust 公开根证书的新签发 TLS 证书。谷歌在 2024 年 6 月 27 日宣布了这一决定,Mozilla 和苹果随后也设定了各自的截止日期。截止日前签发的证书可以一直用到自然过期,所以这次变化影响的是续期,而不是已经部署的证书。
发生了什么
谷歌给出的理由是 Entrust 屡次出现合规问题,承诺的改进也没有兑现。Chrome 131 及以上版本对链到 9 张 Entrust 和 AffirmTrust 根证书的 TLS 证书做如下处理:如果证书最早的 SCT 时间晚于 2024 年 11 月 11 日 23:59:59 UTC,就不再信任。之所以用证书透明度日志的时间戳而不是证书自己的生效时间,是为了防止 CA 把新证书“倒签”到截止日之前。
| 平台 | 不再信任此日期之后签发的证书 |
|---|---|
| Chrome 131+ | 2024-11-11 23:59:59 UTC(以最早 SCT 为准) |
| 苹果 | 2024-11-15 |
| Mozilla | 2024-11-30 |
这是一种“部分不信任”:浏览器没有直接移除根证书(那样会让所有现存证书立刻失效),而是停止接受新签发的证书,让存量证书自然到期。
2025 年 1 月 29 日,Sectigo 宣布收购了 Entrust 的公开证书业务。
影响谁
当时,所有 Entrust TLS 证书用户都必须在下一次续期前换到其他 CA 的证书链上,否则新证书在 Chrome、Safari 和 Firefox 中都会报错。通过代理商或云平台购买证书的用户,也需要确认证书背后的 CA 是不是 Entrust。
截至 2026 年 11 月,这次过渡已经结束。2024 年证书最长有效期为 398 天,截止日前签发的证书最晚在 2026 年 1 月初就已全部过期。如果某台服务器现在还在出示链到这些根证书的证书,Chrome 会拒绝它,通常显示 NET::ERR_CERT_AUTHORITY_INVALID。
浏览器之外的客户端使用各自的信任库,行为可能和浏览器不一样,API 客户端、Java 应用和嵌入式设备需要单独测试。
需要做什么
签发者含 Entrust 或 AffirmTrust 的证书都要更换。先查看服务器当前证书的签发者:
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
| openssl x509 -noout -issuer -dates
再用证书透明度查询列出为你的域名签发过的所有证书,确认旧体系的证书已经全部下线。
这件事的教训适用于任何 CA:提前准备好备用 CA,在 CAA 记录里同时授权两家,并用 ACME 自动签发,这样换 CA 只是改一行配置,而不是一个项目。在阿里云、腾讯云等平台购买证书时,也可以留意证书背后是哪家 CA,避免所有业务都押在同一家上。此事件以及后来的 eMudhra 事件等根证书计划决定,都收录在根证书计划时间线中。
常见问题
截止日前签发的 Entrust 证书现在还有在用的吗?
没有了。2024 年证书最长有效期是 398 天,截止日前签发的证书最晚也在 2026 年 1 月初全部过期。
浏览器为什么按 SCT 时间而不是证书生效时间来判断?
证书的 notBefore 生效时间由 CA 自己填写,可以倒签。SCT 是独立的证书透明度日志给出的时间戳,很难被篡改。
Entrust 的公开证书业务后来归了谁?
归了 Sectigo。2025 年 1 月 29 日,Sectigo 宣布收购 Entrust 的公开证书业务。