我目前正在努力解决一个我现在认为是由 IIS 引起的问题。
我目前正在使用根 CA (MyNewCA)、两个签名的客户端证书 (certificate1、certificate2) 和一个也由 CA 签名的吊销列表 (revocationlist.crl) 测试自签名 PKI 设置。
我已将 certificate1 添加到吊销列表中,并将其发布到我们网络上存在的 http 端口 80 站点。然后,我创建了一个通过 TLS 证书保护的假站点(测试站点)。
在客户端计算机上,我在 certificate1 和 certificate2 上运行了 CertUtil 命令,这些命令正确访问了 http crl 站点,并识别出 certificate1 已被吊销,而 certificate2 是合法的未吊销证书。
但是,当我通过客户端浏览器连接到测试站点并提供无效证书时 - IIS 仍然为我提供页面,而不是给我一个 403.13 错误。
我已经阅读了大量内容,似乎有时会出现 CRL 缓存问题,但是我发布的第一个吊销列表中包含 certificate1 的序列号,因此即使是缓存版本也会包含该吊销的证书。
我已将 IIS 服务器上 RegEdit 中的 CertCheckMode 更改为值 4,以尝试强制 IIS 在每个请求上获取最新的 crl,但即使该设置仍然允许将吊销的证书提供给客户端。
CRL 本身具有;生效日期 2016 年 1 月 19 日 下次更新 2017 年 1 月 20 日
如果它有用,我可以提供 certutil 输出,或者任何其他有助于查明问题的日志数据。
我在客户端机器上运行 Fiddler 并验证 crl 是从 Http 站点获取的。
如果有人能对这个问题提供任何见解,我将不胜感激。
谢谢,