我目前正在我们的组织中设置一个新的内部 Windows PKI 基础结构,以替换旧设置。
一切都很好,但 OCSP 位置在 pkiview 控制台中的状态为“错误”。当我使用 certutil(certutil -URL test-certificate.cer或certutil -urlfetch -verify test-certificate.cer)检查证书时,它显示为已验证。所以响应者似乎确实有效。
有谁知道为什么错误状态可能会出现在 pkiview 中?或者在哪里可以找到有关此错误的相关日志?
有关设置的更多信息:
- 正如您在图像中看到的,它是一个两层 PKI,具有一个离线根 CA 和一个加入域的发布 CA。
- AIA 和 CDP 位置位于两个基于 Ubuntu 的 Nginx 服务器上,keepalived 用于 HA 目的。
- Nginx 服务器上的脚本每 15 分钟从颁发 CA 获取新的 CRL。
- 相同的两台 Ubuntu 服务器有第二个 Nginx 服务器块,它运行负载均衡器将 ocsp 请求定向到两个 ocsp 响应服务器。这样,证书可以只包含一个 ocsp url,当一个 ocsp 响应者关闭时,客户端不必等待超时。
在谷歌搜索问题时,我发现这可能是由于 CA-Exchange certificate 陈旧。但更新并没有帮助。
更新
我用 Wireshark 对此进行了测试,在启动 pkiview 时,实际上没有发出 ocsp 请求。运行certutil -URL test-certificate.cer时,Wireshark 清楚地显示了 ocsp 请求和响应。
经过一番搜索后,我想通了。
对于 ocsp 响应服务器,我使用与旧 pki 设置相同的阵列,因为您可以简单地将多个配置添加到阵列。
设置这些服务器后,我按照本指南为 ocsp 位置获取更好的 url。(http://ocsp.domain.com而不是http://ocsp.domain.com/ocsp)这涉及创建一个新的 IIS 站点和编辑一个 IIS 配置文件。
这在过去对客户来说效果很好,现在仍然如此。但似乎导致 pkiview 中的错误。过去,没有将 ocsp 位置添加到端点证书中。它仅用于一个在其配置文件中包含 url 的应用程序。所以它没有出现在pkiview中。
当我们恢复到标准 IIS 配置并更新 CAExchange 证书时,错误就消失了。