我目前正在努力解决一个问题,我现在认为这个问题是由IIS造成的。
我目前正在测试一个带有根CA(MyNewCA)的自签名PKI设置,两个签名的客户端证书(certificate1,certificate2)和一个也由CA签名的吊销列表(revocationlist.crl)。
我已将certificate1添加到吊销列表并将其发布到我们网络上存在的http端口80站点。然后,我创建了一个通过TLS证书保护的虚假站点(testsite)。
在客户端计算机上,我在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站点获取的。
如果有人能够对此问题提供任何见解,我将不胜感激。
谢谢,
答案 0 :(得分:1)
这是预期的行为。即使SSL证书存在吊销问题,IIS也不会阻止访问SSL站点。客户端如何处理从服务器接收的信息。客户端可以执行(或不执行)撤销检查并对进一步的步骤做出决定。
此外,请确保客户端的缓存是否具有最新的CRL。