Active directory ADCS在线应答器(OCSP)不';t实时

Active directory ADCS在线应答器(OCSP)不';t实时,active-directory,certificate,ocsp,certificate-revocation,Active Directory,Certificate,Ocsp,Certificate Revocation,我在实验室的同一台机器上安装了AD、AD CS和OCSP,并进行了配置。然后,我使用C#创建一个OCSP客户端,这样它就可以发送撤销检查请求并解析本地计算机上安装的特定证书的响应。C代码是使用Bouncy Castle程序集构建的(http://www.bouncycastle.org/csharp/) 问题是,如果我颁发了一个证书并在AD CS上吊销了它,并且发布了CRL和增量CRL,我的OCSP客户端仍然说这个证书是好的,直到我在AD CS->OCSP->Array Configuratio

我在实验室的同一台机器上安装了AD、AD CS和OCSP,并进行了配置。然后,我使用C#创建一个OCSP客户端,这样它就可以发送撤销检查请求并解析本地计算机上安装的特定证书的响应。C代码是使用Bouncy Castle程序集构建的(http://www.bouncycastle.org/csharp/)

问题是,如果我颁发了一个证书并在AD CS上吊销了它,并且发布了CRL和增量CRL,我的OCSP客户端仍然说这个证书是好的,直到我在AD CS->OCSP->Array Configuration中单击了刷新吊销数据

我已通过LDAP://XXXX和将OCSP中的吊销配置提供程序配置为本地CRL

我还指定我的吊销提供程序每5分钟刷新一次CRL


是否有任何方法可以将我的OCSP设置为“实时”,这意味着在我吊销证书后,我的OCSP客户端将知道它已被吊销。或者,我的OCSP可以自动获取CRL,而不是手动单击刷新撤销数据。

好的,我终于知道了如何使其尽可能实时,即使不是“实时”。OCSP服务有自己的缓存,证书的吊销状态似乎将被缓存,直到CRL过期。在我的实验室中,我的CRL有效期为2天,这意味着即使我吊销了证书并发布了CRL,并设置OCSP每5分钟刷新一次,原始状态仍将在OCSP缓存中,直到2天后。但是,如果我单击刷新撤销数据,OCSP将清除所有缓存并重新启动应用程序池


解决方案是,首先我需要在OCSP服务中启用NONCE扩展。因此,当我发送OCSP请求时,我可以立即获取一些随机信息。在OCSP服务中,如果发现请求包含ONONCE信息,则不会使用任何缓存。因此,我的吊销数据将在5分钟后刷新。

我在“Windows 2012 ADCS Online Responder”上遇到了同样的问题。我已将“web代理缓存项”设置为0,重新启动了“在线响应程序”服务,现在我有了“实时”行为

在测试期间,我还验证了您提到的相同行为,即OCSP web代理缓存中的条目的生存期与OCSP相关CRL的生存期同步,该生存期基于CRL的“下一个CRL发布”字段中指定的日期/时间信息

由于我没有找到任何信息来定义此缓存过期的不同策略,因此我发布了一个关于这一点的问题:

嗨<代码>CRL有效期为2天,您能告诉我如何更改它吗?它是否
右键单击已吊销的证书,然后单击属性