什么是CRL?CRL证书吊销列表核心技术机制有哪些?

更新时间:2025-10-02 来源:TopSSL技术团队

什么是CRL?

CRL(Certificate Revocation List,证书吊销列表)是由证书颁发机构(CA)定期签发并公开发布的已失效证书清单。

当SSL证书因

  • 私钥泄露、
  • 域名变更、
  • 误颁发
  • CA自身安全事件

等原因被主动撤销时,其序列号即被写入CRL。

浏览器或客户端在TLS握手过程中可通过下载并校验CRL,确认目标证书是否仍处于有效状态。该机制是PKI信任体系中保障HTTPS安全的关键环节之一。

当前主流浏览器已逐步转向OCSP Stapling等更高效的实时验证方式,但CRL仍是合规审计、金融与政务系统强制要求的底层验证手段。

未正确配置CRL分发点(CRL Distribution Points)或忽略CRL过期更新,将导致证书验证失败,在Nginx/Apache等服务器上表现为“NET::ERR_CERT_REVOKED”错误


CRL在PKI中的定位

CRL与OCSP的本质区别

CRL是一种“批量拉取+本地缓存”的离线验证模式,依赖客户端定时下载完整列表;

而OCSP(Online Certificate Status Protocol)则是向CA指定服务器发起单次HTTP查询,返回即时状态响应。二者均用于解决“证书已吊销但尚未过期”的信任风险,

但CRL对带宽和存储要求更高,OCSP则存在隐私泄露与单点故障隐患。


浏览器对CRL的实际支持现状

Chrome已不再依赖传统CRL作为主要吊销检查机制,

而是结合CRLSets、OCSP及其他浏览器侧安全机制进行证书状态验证,仅在企业策略或特定安全策略(如FIPS 140-2合规环境)下启用;

Firefox仍保留CRL检查开关,但需手动开启;

Safari与Edge则完全依赖OCSP Stapling。

这意味着如果您的网站面向政府、银行或国企客户,必须确保CRL分发点URL可公开访问且响应头包含正确的Content-Type。


CRL核心技术机制

项目CRL(证书吊销列表)OCSP
查询方式下载完整吊销列表实时查询
响应速度较慢较快
网络开销较大较小
浏览器支持逐步弱化主流方案
企业合规场景广泛使用广泛使用
推荐程度★★★☆☆★★★★★

工程实践与部署经验

真实运维中,90%以上的CRL相关故障源于三个硬性限制:

  • ① 分发点URL不可达(DNS未解析/防火墙拦截);
  • ② CRL文件超过10MB(主流CA默认<2MB);
  • ③ 证书未嵌入CRL分发点扩展(常见于自签名或老旧OpenSSL生成证书)。

建议在SSL证书部署前,使用SSL证书检查工具验证CRL字段完整性。

对于采用 Let's Encrypt 免费证书的网站,运维人员通常无需主动维护CRL体系,但仍应关注证书吊销和自动续签状态。

您使用锐安信、DigiCert 等商业CA签发的OV/EV证书,由于证书需要持续续签和状态校验,因此仍需关注CRL与OCSP吊销机制是否正常工作。


常见问题

CRL 和 OCSP 有什么区别?

CRL是 CA 机构定期发布的一个“黑名单”文件。每次都要下载太臃肿,且有更新延迟。

OCSP是实时在线查询。浏览器直接给 CA 平台发请求问:“这张证书死了没?”速度快,数据最新。


如何查看 SSL 证书是否已被吊销?

在浏览器点开网址左边的“小锁” → 查看证书详情。如果证书已被 CA 强制吊销,浏览器会直接拦截并弹红字警告。


CRL Distribution Point 是什么意思?

CRL 分发点它是写入 SSL 证书详情里的一段 URL 下载链接。当浏览器拿到你的证书时,会顺着这个网址去 CA 的服务器下载最新的黑名单(CRL 文件),用来校验你的证书有没有被提前废除。


Nginx 如何配置 OCSP Stapling?

配置这个功能可以由 Nginx 服务器代替用户去向 CA 查询证书状态,

nginx

# 开启 OCSP 装订
ssl_stapling on;
ssl_stapling_verify on;

# 指定 DNS 解析服务器(防止 Nginx 无法解析 CA 的域名)
resolver 8.8.8.8 114.114.114.114 valid=300s;
resolver_timeout 5s;

请谨慎使用此类代码。

配置完成后运行 nginx -t 并重启 Nginx 即可。


浏览器提示 NET::ERR_CERT_REVOKED 怎么办?

这个报错代表“该证书已被 CA 机构拉黑/注销”

说明网站可能涉嫌欺诈、私钥泄露,或者服务商出了大事故。直接关闭网页即可。


CRL文件可以手动下载查看内容吗?

可以。

使用OpenSSL命令 openssl crl -in crl.pem -text -noout 即可解析PEM格式CRL;若为DER格式,需先转换:openssl crl -inform DER -in crl.der -outform PEM -out crl.pem


证书被加入CRL后还能恢复吗?

不能。

CRL是单向追加式日志,一旦写入即永久留存。唯一补救方式是重新申请新证书并更新服务器配置。


CRL会影响HTTPS性能吗?

会。

首次建立连接时若强制校验CRL,可能增加300–800ms延迟。建议启用OCSP Stapling,并在Nginx中配置 ssl_stapling onssl_trusted_certificate 指向完整证书链。


推荐阅读

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn