You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSSL无法验证CRL求助:无法获取证书吊销列表

问题原因

OpenSSL 1.1.1k的openssl verify命令默认不会自动通过CRL分发点(CDP)URL下载CRL,-crl_check参数仅会查找本地已加载的CRL文件,不会发起HTTP/HTTPS请求获取远程CRL,这就是strace显示只查本地文件、报错无法获取CRL的根本原因。

解决方法

方法1:手动下载CRL并指定验证

  • 先确认叶子证书的CRL分发点:
openssl x509 -in leaf.pem -noout -text | grep -A 2 "CRL Distribution Points"
  • 用curl下载CRL到本地(替换为实际CDP地址):
curl http://crl.example.com/ca.crl -o leaf_crl.pem
  • 加载CA证书链和本地CRL完成验证:
openssl verify -CAfile chain.pem -crl_check -CRLfile leaf_crl.pem leaf.pem

注:chain.pem需按「中间CA在前、根CA在后」的顺序拼接根CA与中间CA证书

方法2:配置OpenSSL启用自动CRL获取

OpenSSL 1.1.1支持通过配置开启自动CRL下载,但默认未启用:

  1. 编辑OpenSSL配置文件(通常为/etc/pki/tls/openssl.cnf),添加以下配置段:
[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
CRLDP = 1
  1. 验证时指定CA证书链并启用全链CRL检查:
openssl verify -CAfile chain.pem -crl_check_all leaf.pem

注:RHEL 8.8的FIPS模式对配置有严格要求,需确认该配置符合FIPS规范,且服务器能正常访问CDP URL

关键注意点
  • RHEL 8.8的OpenSSL 1.1.1k FIPS模式下,非默认配置可能受限,优先推荐方法1手动指定CRL
  • 若CRL为DER格式,需先转换为PEM格式再使用:
openssl crl -inform DER -in leaf_crl.crl -out leaf_crl.pem
  • 必须确保CA证书链完整,chain.pem需包含所有上级CA证书

内容的提问来源于stack exchange,提问作者tot19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:46:05