8. Certificate Status Request (证书状态请求)
Certificate revocation status 检查可能要求 client 联系 CA 或 OCSP responder. 对带宽受限的 client, 这会增加成本. status_request extension 允许 client 请求 TLS server 在 handshake 中提供 certificate status information, 通常是 OCSP response.
8.1 Hello Messages (Hello 消息)
请求 certificate status 的 client MUST 在 extended client hello 中包含 status_request extension. extension_data 包含 CertificateStatusRequest, 当前定义的类型为 ocsp(1).
Server 收到 status_request 后 MAY 在 server hello 中返回空 status_request extension, 表示它选择在 handshake 中返回 certificate status. 如果 server 不返回该 extension, client MAY 直接向外部 OCSP responder 查询.
8.2 Certificate Status (证书状态)
如果 client 请求了 certificate status, server MAY 在 TLS handshake 中发送 CertificateStatus message. 如果发送, 该 message MUST 紧跟在 Certificate message 后, 且位于 ServerKeyExchange 或 CertificateRequest 之前.
CertificateStatus 中的 OCSPResponse 是完整 DER-encoded OCSPResponse. 只有 OCSP response 可发送. Client 如果收到 OCSP response, MUST 验证该 response. 如果 response 不满足 client 策略, client MAY 中止 handshake. Server 未发送 CertificateStatus 不应被 client 直接解释为 status request 失败.
8.3 OCSP Response Caching (OCSP 响应缓存)
实现该 extension 的 server SHOULD 缓存其 certificate 的 OCSP response, 并定期在过期前刷新. Server 应确保缓存 response 与 certificate 匹配且仍然新鲜.
8.4 Security Notes (安全说明)
该 extension 可减少 client 直接联系 OCSP responder 带来的隐私泄露和延迟. Client 仍 MUST 验证 OCSP response 的签名, responder 授权和 freshness, 包括 thisUpdate 和 nextUpdate.