尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

OpenSSL报unable to get certificate CRL:吊销列表与证书链分层排查

发布时间:2026/9/26 5:16:30

资讯中心
01
ARTICLE

OpenSSL报unable to get certificate CRL:吊销列表与证书链分层排查

OpenSSL报unable to get certificate CRL:吊销列表与证书链分层排查
证书还在有效期内OpenSSL却报unable to get certificate CRL先别重装根证书。这通常是启用了吊销检查却找不到适用的证书吊销列表。下面用离线实验拆开“证书路径可验证”“CRL可获取”“CRL可信且有效”三件事避免把不同故障都塞进fullchain。一、先认报错缺CRL不等于已吊销CRL是签发方发布的吊销列表。找不到列表不能推导证书已吊销证书未到期也不能推导未吊销。本文只讨论直接签发、完整CRL不展开间接CRL或增量CRL。本机CLI为OpenSSL 1.1.1k FIPS。实验用临时根、中间CA、叶子证书和CRL私钥仅在内存实验目录已清理没有改系统信任库、时钟或生产配置也没有做线上HTTPS实测。示例中的文件须先准备到独立工作目录不是系统自带文件。二、固定材料再建立不含吊销检查的基线root.pem是明确受信的根intermediate.pem是构链材料leaf.pem是待验叶子。不要为消除错误随手把叶子设成信任锚。openssl version openssl verify -no-CApath -CAfile root.pem \ -untrusted intermediate.pem leaf.pem openssl x509 -in leaf.pem -noout -issuer -serial -text本实验基线返回0和leaf.pem: OK只是给后续对照固定起点没有证明吊销检查通过。基线若已失败先处理它再讨论CRL这一步不是让生产系统关闭原有检查。三、找到分发点不等于下载完成在证书文本里找CRL Distribution Points核对分发地址与CA公布的信息不是每张证书都包含这个扩展。生产排查应从实际验证进程所在环境检查DNS、路由、代理、访问策略与超时宿主机能下载不代表容器也能。-crl_check不是自动下载开关。官方提供-crl_download尝试获取CRL但尝试不保证成功本实验没有验证网络下载。为隔离网络与验证故障下文使用已取得的本地文件。HTTP成功也不等于文件正确拿到登录页或错误页文件名再像CRL也没用。确认来自预期CA并核对编码后再解析DER与PEM不能只凭扩展名判断。若下载的是DER转换到新的工作文件已有PEM则跳过转换行。四、核对issuer、签名与更新时间openssl crl -inform DER -in issuer.crl.der \ -outform PEM -out issuer.crl.pem openssl crl -in issuer.crl.pem -noout \ -issuer -lastupdate -nextupdate openssl crl -in issuer.crl.pem -noout \ -CAfile intermediate.pem这里的issuer.crl.pem由中间CA签发用来检查叶子。issuer名称相同只是线索还要由正确签发者的公钥验证签名并考虑适用范围。名字相同不等于拿的是同一把钥匙。lastUpdate对应本次发布时间nextUpdate给出下一次更新期限解析成功不证明时间有效。实验中过期CRL的签名仍显示verify OK但用于证书校验时报过期。还有版本细节本机openssl crl对错误签名输出verify failure却仍返回0。不能仅凭该命令退出码放行它是单项诊断最终仍要看启用CRL检查的证书验证结果。五、先用-crl_check检查叶子openssl verify -no-CApath -CAfile root.pem \ -untrusted intermediate.pem -crl_check \ -CRLfile issuer.crl.pem leaf.pem本实验未提供CRL时报error 3、depth 0提供有效空CRL后返回0。空列表不是空文件而是有完整结构和签名、没有吊销条目的CRL。通过只能说明这次提供的适用列表没有列出该证书不能保证之后不会被吊销。把叶子序列号加入列表后得到error 23换成过期列表得到error 12。以下均为同一本机离线夹具结果失败行退出码为2不是跨版本承诺条件错误及depth排查落点无适用CRL3 / 0获取、加载与issuer匹配有效空CRL无退出0本次叶子检查通过叶子已吊销23 / 0停止使用并按CA流程处置CRL过期12 / 0获取更新列表核对时间CRL尚未生效11 / 0核对发布时间与验证时间CRL签名错误8 / 0核对签发者及文件完整性全链检查缺上级CRL3 / 1补充根签发的适用CRL六、-crl_check_all为何还缺一份列表-crl_check检查叶子-crl_check_all扩展到链上全部证书。depth指正在验证的证书层级不是文件编号。本例叶子为0、中间CA为1、根为2。只提供中间CA签发的列表改成全链检查就报error 3、depth 1。检查中间CA需要它的签发者——根CA——发布的适用列表不能拿同一份叶子列表反复充数。openssl verify -no-CApath -CAfile root.pem \ -untrusted intermediate.pem -crl_check_all \ -CRLfile issuer.crl.pem -CRLfile root.crl.pem leaf.pem本例补齐后返回0。根本身也不能凭印象跳过把根的序列号加入根签发的实验CRL全链检查得到error 23、depth 2把中间CA加入则在depth 1失败。本例同一根CRL用于检查中间CA与自签根不意味着每层都必须单独下载一份文件也不代表浏览器采用同样策略。七、版本和真实客户端是两条边界命令依据1.1.1 verify手册与crl手册。3.0 crl手册明确列出-verify-CAfile也会隐式启用签名检查3.0验证选项还列出CAstore相关开关。这里只核对文档没有实测3.x不照搬输出和退出码。离线通过不代表真实HTTPS握手、主机名校验或浏览器全链吊销策略通过。应用使用的库、CRL缓存、更新与失败策略仍需单独验收。别把删掉检查参数当修复它只是把报警器静音。八、验收清单把结果落到证据上记录实际CLI版本、证书序列号和报错depth固定输入材料。基线通过CRL来源、编码、签发者、签名和时间分别核对。按检查范围备齐列表保留有效、缺失、吊销与过期负例。记录完整输出和退出码不以单项解析或签名成功代替最终验证。确认应用实际加载新CRL及更新告警真实客户端另测不改时钟、不降低校验要求。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。