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

Windows独立根CA未配置相关参数却在CRL中发布已过期吊销证书的问题咨询

Windows独立根CA未配置相关参数却在CRL中发布已过期吊销证书的问题咨询

我来帮你拆解这个看似矛盾的问题——按照你给出的配置,确实不该出现已过期的吊销证书长期留在CRL里的情况,咱们可以从几个容易被忽略的角度排查:

  • 吊销时间与证书过期时间的先后关系
    你可以先确认这些2018年过期的证书,它们的吊销操作是在证书过期前还是过期后执行的?如果吊销动作发生在证书过期之后,Windows独立CA的默认逻辑会把这类记录保留在CRL中,因为它认为这是一个“过期后才被吊销”的事件,需要被公示。你可以用命令certutil -view -out "RequestID,SerialNumber,RevocationDate,NotAfter"查看具体记录,对比RevocationDate和NotAfter的时间戳。

  • 注册表配置的隐性异常
    虽然你说CRLF_PUBLISH_EXPIRED_CERT_CRLS未设置,但建议你再仔细核对注册表路径HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<你的CA名称>:

    • 确认这个DWORD值确实不存在(而不是被设置为1后又删除,CA服务可能没刷新配置),如果之前改过,建议重启CA服务再生成CRL试试;
    • 检查EKUOIDsForPublishExpiredCertInCRL的数值,确认没有被意外添加IPSec证书的OID(1.3.6.1.5.5.7.3.10)——哪怕是不小心加进去,都会导致这类证书被特殊处理。
  • CRL生成的缓存或服务异常
    有时候CA生成CRL时会读取缓存的历史记录,而非实时过滤数据库。你可以手动触发一次CRL生成:certutil -crl,然后检查新生成的CRL内容。如果问题依旧,尝试重启CA服务,确保所有配置变更(哪怕是之前的)都已生效。

  • 独立CA数据库的历史记录残留
    独立根CA不会自动归档或清理数据库中的旧吊销记录,哪怕证书早已过期。如果CA数据库从未被清理过,每次生成CRL时可能会把所有历史吊销记录都包含进去。你可以尝试清理指定日期前的记录(操作前务必备份CA数据库):

    certutil -deleterow 1/1/2019 CA
    

    这个命令会删除2019年1月1日之前的证书记录,之后再生成CRL看看是否还会出现旧证书。

备注:内容来源于stack exchange,提问作者Helstrom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 09:34:49