介绍#

在线证书状态协议 (OCSP) 用于检查 X.509 数字证书(SSL/TLS 证书)的吊销状态。使用 OCSP 代替或补充证书吊销列表 (CRL) 的优势在于实时证书状态响应以及更少的网络和客户端资源使用。

OCSP 是一种互联网协议 (IP),证书颁发机构 (CA) 使用它来确定安全套接字层/传输层安全 (SSL/TLS) 证书的状态,这些证书是 X.509 数字证书的常见应用。

OCSP 如何工作?#

  1. 证书颁发: 当证书颁发机构 (CA) 向实体(例如,网站)颁发数字证书时,它会记录有关证书的信息,包括唯一的序列号和证书的有效期。

  2. 吊销: 有时,证书需要在到期日期之前吊销。如果私钥泄露或证书持有者的状态发生变化(例如,终止雇佣关系),则可能发生这种情况。当证书被吊销时,CA 会更新其证书吊销列表 (CRL) 或使用 OCSP 使吊销状态可用。

  3. OCSP 响应器: CA 运行一个 OCSP 响应器,这是一个服务器,用于响应关于其颁发的证书状态的查询。此响应器可以是单独的服务器,也可以集成到 CA 的基础设施中。

  4. OCSP 请求: 当客户端(例如,Web 浏览器)在建立安全连接期间遇到数字证书时,它可以向 CA 的 OCSP 响应器发送 OCSP 请求。OCSP 请求通常包括相关证书的序列号。

  5. OCSP 响应: OCSP 响应器检查其数据库以根据请求中提供的序列号确定证书的状态。然后,它向客户端发回 OCSP 响应。如果证书有效且未被吊销,则 OCSP 响应指示“良好”。如果证书被吊销,则 OCSP 响应指示“已吊销”,并且可能包括关于吊销原因的附加信息。如果 OCSP 响应器无法提供确凿的响应,则可能会返回“未知”。

  6. 客户端验证: 客户端接收 OCSP 响应并使用它来确定证书的状态。如果响应为“良好”,则客户端继续进行安全连接。如果响应为“已吊销”,则客户端可以选择终止连接或根据其安全策略采取其他适当的措施。

与定期下载和检查 CRL 相比,OCSP 提供了一种更实时和精细的方式来检查证书的状态,后者效率较低且不及时。但是,OCSP 查询可能会在连接建立过程中引入一些延迟,因为它们涉及向 OCSP 响应器发送额外的网络请求。