再见了,OCSP
2024/10/29,Microsoft Root Program 修改了[一个不起眼的文档](https://learn.microsoft.com/en-us/security/trusted-root/program-requirements) 中不起眼的一段,为持续一年多的 OCSP 告别仪式画上了一个句号,结束了 OCSP 大刀阔斧地向 CRL 举起大刀阔斧的时代。 让我们在这里纪念它,最后的 OCSP 强制要求([时光机](https://web.archive.org/web/20241002221253/https://learn.microsoft.com/en-us/security/trusted-root/program-requirements)),它代表了公开加密基础设施一次长达 20 年的探索,也记录了人类网络基建突飞猛进的 20 年对技术的反向改变: ``` All end-entity certificates must contain an AIA extension with a valid OCSP URL. These certificates may also contain a CDP extension that contains a valid CRL URL. All other certificate types must contain either an AIA extension with an OCSP URL or a CDP extension with a valid CRL URL. ``` ## 什么是 或许我不需要解释什么是 OCSP(Online Certificate Status Protocol,在线证书状态协议),因为国内开发者早已深受其害:几乎每个 Nginx 优化教程都在教你打开 OCSP Stapling。 正如我们所知,OCSP 本质是一个 HTTP 服务,用户在每次遇到证书时将证书序列号明文发给 CA 的服务器,CA 再明文返回一个是否可用的状态。 这比传统的 CRL(Certificate Revocation List,证书吊销列表) 可酷多了:用户不再需要每次上网就苦哈哈地用 56K modem 从 **每个** CA 那里下个数 M 的文件(其中包含这个