吊销是流程不是命令
证书吊销指的是让依赖方不再信任这张证书,它是一串动作:确认触发原因、执行吊销、替换证书、更新所有依赖该证书的位置、留存记录。很多团队卡在最后两步:证书在 CA 侧确实被吊销了,但客户端的证书固定、双向认证白名单、应用内置信任库都还留着旧的指纹,于是吊销没生效,业务反而因为证书替换中断。按流程走,才不会出现「一边告警一边报障」的局面。
基本信息
| 公信证书 | 向 CA 提交吊销;ACME 场景多数直接重新签发并停用旧证书 |
|---|---|
| 私有 CA | openssl ca -revoke 后重新生成 CRL 并分发 |
| 私钥泄露场景 | 吊销证书的同时必须更换密钥对 |
| 依赖清单 | 证书固定、mTLS 白名单、应用信任库、上游合作方都要同步更新 |
| 传播延迟 | 受客户端缓存与软失败行为影响,不能假设立即生效 |
| 记录要求 | 时间线、影响面、决策依据与执行人,便于事后审计 |
典型使用场景
- 确认私钥泄露:第一时间吊销并替换,同时排查泄露路径。
- 误签发处理:证书域名或主体写错时吊销并重新签发。
- 人员与外包变更:回收签发权限,清理其持有的证书与账号。
- 合规要求:按制度要求对指定证书执行吊销并保留证据。
- 应急演练:验证吊销链路、依赖更新与通知流程是否真的走得通。
私有 CA 吊销与 CRL 生成
私有 CA 吊销与 CRL 生成
# 吊销指定证书并记录时间
openssl ca -config openssl.cnf -revoke revoked.pem
# 重新生成 CRL 并分发到依赖方
openssl ca -config openssl.cnf -gencrl -out ca.crl
openssl crl -in ca.crl -noout -text | grep -A2 'Serial Number' | head
# 公信证书走 CA 平台或 ACME 客户端吊销,随后删除旧证书文件触发原因与处置重点
| 触发原因 | 处置重点 | 注意 |
|---|---|---|
| 私钥确认泄露 | 吊销证书并立即替换密钥对 | 只换证书不换密钥,历史风险仍在 |
| 误签发或配置错误 | 吊销后重签并验证链完整 | 核对新证书 SAN 与部署位置 |
| 人员离职或外包结束 | 回收账号与签发凭据 | 重点在流程与权限,不只是吊销证书 |
| 依赖方做证书固定 | 先通知再吊销 | 未同步更新会让客户端直接不可用 |
| 到期未及时替换 | 尽快补发并核对旧证书是否仍被引用 | 过期不吊销也要清理引用 |
新旧证书并存期要明确停用时间点:只吊销不替换会造成服务中断,只替换不吊销则旧证书仍可能被伪造使用。