吊销检查到底怎么运作

证书可能在到期前被吊销——私钥泄露、域名易主、签发有误都是理由。问题是:验证方怎么知道手上这张证书已经被吊销了?这个看似单纯的问题,过去二十年换过好几种答案。

OCSP 曾经是主流解法:客户端连接时向证书机构的服务器查询「这张证书还有效吗」。但它有个结构性问题——证书机构因此知道了哪个 IP 正在访问哪个网站,等于在每次连接里插入一个第三方观察者。

机制 运作方式 现况
OCSP 直接查询 客户端连接时实时询问证书机构 隐私问题明确,浏览器多已不采用
OCSP 装订 服务器代为查询,把结果附在 TLS 握手中 Let's Encrypt 已于 2025/8 关闭服务
CRL 吊销列表 证书机构发布列表,由验证方自行获取 CA/B Forum 自 2024/3 起列为必要
Chrome CRLSets Google 筛选后随浏览器更新推送 Chrome 一直以来的实际做法
四种吊销检查机制与 2026 年的实际状况。

下表整理四种机制与现况。第二行是多数教程仍在教、但已经停止运作的那一种。

Let's Encrypt 停止 OCSP 的三个时间点

这不是突然关闭,而是分三阶段完成,时程都已经过去:

  1. 2025 年 1 月 30 日:停止新的 Must-Staple 请求 Must-Staple 是证书里的一个标记,要求客户端必须看到有效的装订响应才接受连接。它原本用来堵住「装订失败就当作没事」的漏洞,但代价是一旦装订出问题,网站直接连不上。这个阶段之后,多数账户已无法再申请带此标记的证书。
  2. 2025 年 5 月 7 日:证书中不再包含 OCSP 网址 这是影响最广的一步。证书里没有 OCSP 网址,服务器就无从查询,ssl_stapling on; 这类配置自此失去作用——不会报错,只是静默地什么都不做。许多人的配置文件至今仍留着那几行。
  3. 2025 年 8 月 6 日:OCSP 服务完全关闭 响应服务器下线。在此之前签发、仍带有 OCSP 网址的旧证书,查询也会开始失败。以目前的证书有效期来算,那些证书早已全部过期轮替完毕。

为什么要废掉一个安全机制

官方给的第一个理由是隐私。Let's Encrypt 明确指出:用户访问网站时,运作 OCSP 响应服务器的证书机构会立即得知「某个 IP 地址正在访问哪个网站」。对一个签发了数亿张证书的机构而言,这等于掌握了一份规模惊人的浏览记录。

第二个理由是运营成本——维持全球规模的实时查询服务消耗大量资源,那些资源可以用在别的地方。

方向其实在更早就定了。CA/Browser Forum 在 2023 年通过表决,将 OCSP 改为可选、CRL 改为必要,并于 2024 年 3 月生效。Let's Encrypt 的决定是顺着这个方向走,不是单方面的行动。

你现在该检查什么

最直接的是看配置文件里还有没有残留。Nginx 的 ssl_stapling on; 与 ssl_stapling_verify on;、Apache 的 SSLUseStapling on 这类指令,在证书没有 OCSP 网址的情况下不会造成错误,但也不再有任何效果。留着不会坏事,只是那是一段已经没有意义的配置。

另一个要确认的是商用证书的情况不同。这次变动是 Let's Encrypt 的决定,部分商业证书机构仍在提供 OCSP 服务。如果你同时管理免费与商用证书,两者的行为会不一样——判断之前先确认该证书实际上还有没有 OCSP 网址。

三个层次的处理

依实际情况分别处理:

一、确认证书本身有没有 OCSP 网址

这决定后续所有判断。没有网址就不必再考虑装订相关配置;有网址(多为商用证书)则装订仍然有效,可以保留。不要凭「以前设过」就假设它还在运作。

二、清掉已失效的配置,但不必急

残留的装订配置不会造成故障,所以不需要紧急处理。但在下次调整配置文件时顺手移除比较好——留着会让后来接手的人以为装订正在运作,而依据错误的前提排查问题会浪费很多时间。

三、理解吊销检查的实际覆盖范围

不要假设吊销会实时生效。CRL 与 CRLSets 都有更新周期,而 Chrome 的 CRLSets 是经过筛选的子集、并非完整列表。这也是证书有效期持续缩短的背景之一——有效期越短,吊销机制需要承担的责任就越小。

排查前该确认的三件事

遇到与吊销或装订相关的问题时,先厘清这三项:

  1. 这张证书是谁签发的 Let's Encrypt 与商用证书机构的行为现在完全不同。搞错签发者会让整个排查方向偏掉。
  2. 配置文件里的装订是真的在运作吗 配置存在不等于生效。Nginx 在无法获取 OCSP 响应时会写入警告而非中止启动,所以服务看起来一切正常。要看日志,不是看配置文件。
  3. 问题是否真的与吊销有关 证书链不完整、有效期问题、域名不符都会产生类似的错误信息,而且常见得多。先排除那些,再往吊销的方向查。

小结

「记得开启 OCSP 装订」曾经是正确的建议,现在对 Let's Encrypt 证书已经不适用——证书里没有 OCSP 网址,那行配置不会报错,只是静默地什么都不做。这类过时建议在中文技术内容里仍然大量流传,而它的危害不在于造成故障,在于让人误以为某个防护还在运作。

吊销检查的整体趋势是往 CRL 与更短的证书有效期靠拢。若您不想追踪这类生态变动,我们的 SSL 证书自动化平台处理签发与部署,让证书管理跟着标准走而不需要您逐项盯着。

参考资料