当我们尝试在不属于域的计算机上使用证书时,Windows 会抱怨
由于撤销服务器处于离线状态,撤销功能无法检查撤销。
但是,如果我手动打开证书并检查CRL Distribution Point
属性,我会看到一个ldap:///
URL 和一个http://
指向托管 CRL 的外部可访问 IIS 站点的 URL。当然,未加入域的客户端无法访问该ldap:///
URL,但它可以从链接下载 CRL http://
(至少在浏览器中)。
我启用了 CAPI 日志记录,并看到了与此失败的吊销检查相对应的事件。该
RevocationInfo
部分是:
吊销信息
[新鲜时间] PT11H27M4S
- RevocationResult 撤销功能无法检查撤销,因为撤销服务器处于离线状态。
[值] 80092013- CertificationRevocationList
[ 位置] UrlCache
[ url] http://正确的 URL
[文件参考] 6E463C2583E17C63EF9EAC4EFBF2AEAFA04794EB.crl
[发行人名称] CA 的名称
此外,我可以使用 Microsoft 网络监视器查看对正确 URL 的 HTTP 请求和服务器的响应(HTTP 304 未修改)。
我运行了certutil -verify -urlfetch
,它似乎显示了相同的内容:计算机识别了两个 URL,尝试了两个 URL,尽管链接http://
成功,但仍然返回相同的错误。
有没有办法让未加入域的客户端跳过链接ldap:///
并只检查http://
一个?
编辑:
网址ldap:///
是
ldap:///CN=<name of CA>,CN=<name of server that is running the CA>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<domain name>?certificateRevocationList?base?objectClass=cRLDistributionPoint
未加入域的客户端可能位于域网络或外部网络上。http://
可以从公共互联网访问 CDP。
答案1
在与 Microsoft 支持人员一起排除故障后,我们注意到客户端无法访问增量 CRL,因为 IIS 的默认配置不支持以+
字符结尾的文件名和以结尾的增量 CRL +
。在 IIS 中启用双重转义后,未加入域的客户端能够确认证书未被吊销。