OCSPOnline Certificate Status Protocol,在线证书状态协议)是客户端向 OCSP responder 查询单张 数字证书 是否被 CA(证书颁发机构) 吊销的协议。

核心问题

证书在有效期内也可能因为私钥泄露、误签、主体变更或违规而需要撤销。只检查证书签名和过期时间无法知道它是否已被吊销。OCSP 提供按证书序列号在线查询状态的机制。

核心机制

OCSP 查询的核心对象是:

对象作用
证书序列号标识要查询的证书
issuer 信息指明是哪家 CA 签发的证书
OCSP responder返回证书状态的服务
OCSP response由 responder 签名的状态结果

状态通常是:

good      -> 未被标记为吊销
revoked   -> 已吊销,并可能带吊销时间和原因
unknown   -> responder 不知道这张证书

浏览器直接查询 OCSP 会带来隐私和可用性问题,所以 TLS 常用 OCSP stapling:服务器提前向 responder 获取签名状态响应,并在握手时“装订”给客户端。客户端验证这个响应的签名和时间窗口。

工程用途

  • TLS 客户端判断服务器证书是否已被吊销。
  • 企业 PKI 中快速撤销员工、设备或服务证书。
  • 监控 OCSP responder 可用性和响应新鲜度。
  • 配合短生命周期证书减少撤销系统压力。

边界与常见坑

  • good 不等于永远安全:它只说明当前响应窗口内未被标记为吊销。
  • 软失败会削弱安全性:客户端若在 OCSP 查询失败时继续接受证书,吊销效果会下降。
  • stapling 响应会过期:服务器必须定期刷新,否则客户端可能拒绝连接。
  • OCSP 不替代完整证书验证:仍要检查证书链、域名、用途、有效期和算法。
  • 隐私问题真实存在:直接 OCSP 查询可能让 responder 看到用户访问了哪些站点证书。

相关术语