跳到主内容
快讯直播
AI智模界
AI 词典

OCSP 与证书吊销:没过期的证书,也可能已经作废

一句话定义:OCSP(Online Certificate Status Protocol,在线证书状态协议)是让客户端在建立连接时向 CA 实时询问「这张证书还有效吗」的协议;证书吊销(revocation)指证书还没到有效期,就由签发机构主动宣布作废。

打个比方:证书像公司发的门禁卡,卡面印着有效期。但员工离职、卡片丢失,日期没到,人也不该再进门。于是前台摆一本挂失簿,保安刷卡时得对一眼。问题在于——保安是否真的每次都查。

两代挂失簿

最早的做法是 CRL(Certificate Revocation List,证书吊销列表):CA 定期发布一份完整名单,客户端下载后本地比对。名单只会越来越长,更新也有延迟。

OCSP 把「下载整本」改成「报号查询」:客户端从证书里取出序列号,向 CA 的 OCSP 响应服务问一句,对方回三种状态之一——good(未吊销)、revoked(已吊销)、unknown(不认识)。更轻、更及时,但代价随之而来:

  • 多一次网络往返。握手本来就争分夺秒,再加一次外部查询,体验会变差。
  • 隐私外泄。你去问 CA「这张证书还能用吗」,等于告诉 CA 你正在访问哪个网站。
  • CA 挂了怎么办。多数浏览器采用软失败(soft-fail):查不到结果就放行。于是攻击者只要在链路上把 OCSP 请求掐掉,一张已吊销的证书就能当有效证书用。这才是 OCSP 常被跳过的根本原因——不是没人想查,而是一个可以被阻断的检查,等于没有检查。

正因如此,主流浏览器普遍弱化实时查询,改用自己下发的吊销信息;部分 CA 也停下 OCSP 服务,转向 CRL 或「短有效期证书」(short-lived certificate)——把有效期压得很短,让吊销这件事本身变得不那么必要。

和相邻概念的区别

机制谁去查查什么主要短板
CRL客户端下载整张名单全量吊销清单文件大、更新滞后
OCSP客户端实时单条询问一张证书的状态多一次往返、暴露访问、易被软失败放过
OCSP stapling服务器代查并随握手下发一张证书的状态需服务器正确配置并保持新鲜
证书透明度(CT)公开日志审计谁签发过哪些证书防的是误签发,不是吊销

OCSP stapling(装订)值得单独说:由服务器自己去 CA 取一份带签名的 OCSP 响应,握手时顺手递给客户端。客户端不必额外发请求,延迟和隐私问题一起缓减。

对你的实际意义

运维同学:确认 Web 服务开启了 stapling 并监控响应是否过期;私钥疑似泄露时,换证与吊销要一起做,只换不停用等于名单里留了个后门。开发者:不要把吊销检查当成唯一防线,短有效期、密钥隔离、监控告警是配套动作。普通人:浏览器报「证书已吊销」时不要习惯性点继续,那张卡很可能已经被前台记进挂失簿了。

具体协议细节与各家浏览器策略会持续演进,以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。