按教程创建的根CA及服务器证书吊销后仍被浏览器信任求助
我之前也碰到过类似的证书吊销不生效的问题,结合你的场景(按照Didier Stevens博客步骤创建新根CA/服务器证书,吊销后Chrome和IE仍信任,旧CA环境正常,CRL可访问),咱们一步步排查可能的原因:
检查新证书的CRL分发点(CDP)配置
打开服务器证书的属性,查看「CRL分发点」选项卡,确认所有URL都是可正常访问的HTTP路径(部分浏览器对LDAP路径的CRL支持有限)。同时要检查根CA证书的CDP配置是否一致,因为浏览器会优先从根CA获取CRL分发信息,配置错误会导致浏览器找不到最新的CRL。验证CRL文件的有效性和吊销条目
用命令certutil -dump <你的CRL文件名>查看CRL详情,重点确认:- 被吊销的服务器证书序列号是否出现在「吊销的证书」列表中
- CRL的「下次更新」时间是否晚于当前时间(过期的CRL会被浏览器忽略)
- 证书的吊销时间是否早于你测试访问的时间
清理浏览器缓存和证书存储
浏览器会缓存证书和CRL信息,导致吊销状态不更新:- Chrome:进入
chrome://settings/certificates,删除旧的服务器证书和新CA证书,重新导入CA后再测试;同时按Ctrl+Shift+Delete清除缓存(勾选「缓存的图像和文件」「Cookie和其他网站数据」),或直接重启浏览器。 - IE:打开「Internet选项→内容→证书」,删除相关证书后重新导入CA;用命令
certutil -urlcache crl delete清空CRL缓存,必要时重启电脑。
- Chrome:进入
确认IIS的证书绑定和SSL配置
检查IIS站点的SSL绑定,确保使用的是已被吊销的目标服务器证书,避免误绑定了未吊销的旧证书。另外可确认站点的「SSL设置」是否勾选了「要求证书吊销检查」(虽然服务器证书的吊销检查由浏览器主导,但IIS配置异常也可能间接影响)。验证根CA证书的信任状态
确认新CA证书已被正确导入到浏览器的「受信任的根证书颁发机构」存储中,而非其他位置。如果是域环境,建议通过组策略部署CA证书,手动导入可能存在缓存或权限问题。手动验证证书吊销状态
用命令certutil -verify <服务器证书文件> <CRL文件>手动验证,若命令返回证书已吊销,则说明证书和CRL本身没问题,问题出在浏览器或系统的缓存/配置;若命令未识别到吊销状态,则需要重新生成CRL或检查吊销流程是否正确执行。
内容的提问来源于stack exchange,提问作者user3771120

