Plainnotes

OCSP stapling 与它带来的隐私问题

2025-12-24 · 3 分钟网络

传统 OCSP 是客户端拿着证书序列号去问 CA“这个证书还有效吗”,问题很明显:CA 由此知道你访问了哪个站点,而且这个查询是明文的(虽然有 OCSP over HTTPS 的提案)。

OCSP stapling 把查询挪到服务端:nginx 定期向 CA 取签名后的响应,握手时一并发给客户端。客户端不再直连 CA,隐私问题解决,还省了一次往返。

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

严格来说 OCSP 正在被 CRLite 和短期证书取代,Let's Encrypt 已经不再签发带 OCSP URL 的证书。但在还有 OCSP 的环境里,stapling 仍然是正确做法。