首页/安全/加密与证书速查/OCSP 状态查询实操

OCSP 状态查询实操

OCSP 针对单张证书返回实时吊销状态:openssl ocsp 指定 issuer 与 URL 后获得 good / revoked / unknown 应答,应答本身带签名与时间窗口,需要一并校验。

加密与证书速查安全更新于 2026-10-13

在线状态查询实操

该机制针对单张证书返回实时吊销状态,应答值为有效、已吊销或未知三类。使用命令行工具时要指定签发者证书与查询地址,地址通常写在证书的授权信息扩展中。应答本身带签名与时间窗口:只看状态字段是不够的,还要校验应答签名与有效期,否则可能被伪造的响应误导。

基本信息

应答语义有效、已吊销、未知;未知表示响应者不掌握该序列号
查询地址来自证书的授权信息扩展
签名校验提供响应者证书并校验应答签名
时间窗口应答带产生时间与有效期

典型使用场景

  • 应急处置:确认某张证书当前是否已被吊销
  • 排错:客户端报已吊销但业务侧认为正常
  • 内网 PKI:验证查询服务是否可用
  • 合规检查:确认吊销查询链路可执行
  • 方案评估:判断是否改为列表方式更合适

查询并阅读应答

查询并阅读应答
openssl x509 -in leaf.pem -noout -ocsp_uri                                     # 取出查询地址
openssl ocsp -issuer issuer.pem -cert leaf.pem -url "$OCSP_URL" -resp_text | head -30
openssl ocsp -issuer issuer.pem -cert leaf.pem -url "$OCSP_URL" -VAfile responder.pem   # 校验应答签名

三种应答

应答含义处理
有效未在吊销名单中正常使用
已吊销证书已被吊销立即更换
未知响应者不掌握该序列号不要直接判定证书无效
部分 CA 已宣布逐步停用在线查询服务并转向吊销列表(以官方公告为准),查询失败时不要直接判定证书无效,应先确认服务是否已下线。

落地建议

  • 把查询地址从证书中取出而不是硬编码
  • 校验应答签名与时间窗口
  • 对查询服务的可用性做监控
  • 保留查询结果作为处置记录
查询失败的常见原因包括出网限制、服务变更与代理拦截;排查时先用命令行直连确认,再判断是网络问题还是证书问题。

排查步骤

  • 从目标证书中取出查询地址,确认地址是否正确
  • 用签发者证书与叶证书构造查询并读取应答
  • 校验应答签名与时间窗口,确认响应可信
  • 若查询不通,先排除出网限制与代理拦截
吊销状态查询与吊销列表是互补关系而不是替代关系:列表适合离线批量校验,单证书查询适合即时确认,两者都受客户端实现策略影响。

易错点

  • 把未知应答当已吊销处理,造成误判
  • 只看状态字段,不校验应答签名与时间窗口
  • 把查询地址硬编码,服务变更后全部失败
  • 认为查询成功就代表吊销机制可靠,忽略客户端可能软失败放行
  • 出网受限环境不规划替代方案,导致吊销检查形同虚设
  • 只查叶证书而不检查中间证书的吊销状态

数据来源与参考

  • RFC 6960(OCSP)
  • OpenSSL 官方文档(ocsp 命令)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌