openssl crl 查看吊销列表
openssl crl 用于读取与转换 CRL(证书吊销列表):查看签发者、发布时间与下次更新时间、以及被吊销证书的序列号,也常用于把 DER 格式的 CRL 转成 PEM 供服务端使用。排查吊销相关问题时,先核对 nextupdate 比先看内容更重要——列表过期会让客户端判定状态未知,此时路径与内容都不再是关键。
基本信息
| 查看 | openssl crl -in crl.pem -noout -text | head -30 |
|---|---|
| 时间字段 | -lastupdate 与 -nextupdate 用于核对更新是否及时 |
| 格式转换 | -inform DER -outform PEM 互转 |
| 用途 | 排查客户端吊销检查是否拿到最新列表 |
| 与 OCSP 区别 | CRL 是整份列表,OCSP 是按单张证书查询 |
典型使用场景
- 确认某张证书是否已进入吊销列表
- 排查客户端拒绝连接是否为吊销列表过期
- 把 CA 提供的 DER 格式 CRL 转成 PEM
- 核对 CRL 分发点与配置中的路径是否一致
- 评估 CRL 体积增长对客户端下载的影响
查看关键字段
查看关键字段
openssl crl -in crl.pem -noout -lastupdate -nextupdate -issuer # 关键字段
openssl crl -in crl.pem -noout -text | grep -A3 'Revoked Certificates' | head -10
openssl crl -inform DER -in crl.der -outform PEM -out crl.pem # 格式转换
# 查看证书里声明的 CRL 分发地址
openssl x509 -in cert.pem -noout -text | grep -A2 'CRL Distribution'关键字段
| 字段 | 含义 | 注意 |
|---|---|---|
| Issuer | 签发该 CRL 的 CA | 需与证书签发者一致 |
| Last Update | 本次发布时间 | 参考值,单独看易误判 |
| Next Update | 下次发布时间 | 过期会导致状态未知 |
| Revoked Certificates | 被吊销的序列号 | 列表体积增长影响下载 |
CRL 过期会让客户端判定证书状态未知,不少实现会因此拒绝连接或放宽检查。排查时先核对 nextupdate 是否可信,再看内容是否包含目标序列号;顺序颠倒会浪费不少时间。
补充:CRL 体积会随吊销记录增长,规模较大的 CA 常按分发点拆分成多个列表。排查时先确认证书里声明的分发点,再从该地址取对应文件,把不同分发点的 CRL 混用会得出完全错误的结论;同时留意客户端缓存,避免拿着旧副本做判断。
运维建议:把 CRL 的获取与分发做成例行任务并监控其更新时间,比在故障时临时下载可靠得多。若客户端支持装订或 OCSP,可以把它作为主路径、CRL 作为兜底,减少对整份列表下载的依赖。