TLS 证书链、OCSP 与常见踩坑¶
服务上线后最容易遇到的不是“有没有证书”,而是“链是否完整、旧客户端是否兼容、OCSP 是否拖慢握手”。
1. 证书链怎么验证¶
- 服务器证书:包含站点域名(SAN)、公钥、有效期
- 中间证书:把服务器证书链接到根证书
- 根证书:预装在系统/浏览器信任库中
部署时要确保服务器返回完整的“服务器证书 + 中间证书”(通常不需要返回根证书)。
2. OCSP 与 Stapling¶
- OCSP:客户端向 CA 的 OCSP 响应器查询证书是否被吊销
- OCSP Stapling:服务器把 OCSP 响应“钉”在握手里,减少客户端外连与时延
3. 常用自检命令¶
openssl s_client -connect example.com:443 -servername example.com -showcerts
重点看:
Verify return code: 0 (ok)是否成立- 是否缺中间证书导致“链断裂”
- 证书是否即将过期、SAN 是否包含目标域名