2

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

问题是,如果我在 AD CS 上颁发了证书并撤销了它,并发布了 CRL 和 Delta CRL,我的 OCSP 客户端仍然说这个证书是好的,直到我单击 AD CS 中的 Refresh Revocation Data -> OCSP ->阵列配置。

我已通过 LDAP://XXXX 将 OCSP 中的撤销配置的提供者配置为我的本地 CRL,

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

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

4

2 回答 2

3

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

解决方案是,首先我需要在 OCSP 服务中启用 NONCE 扩展。这样当我发送 OCSP 请求时,我可以在 NONCE 中获取一些随机信息。而在 OCSP 服务中,如果它发现请求具有 ONONCE 信息,它将不会使用任何缓存。所以我的撤销数据将在 5 分钟后刷新。

于 2012-04-17T02:49:40.290 回答
0

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

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

由于我没有找到任何信息来为此缓存的到期定义不同的策略,因此我发布了一个关于这一点的问题: Windows ADCS Online Responder - 定义 Web 代理缓存条目到期延迟

于 2014-04-14T09:35:24.600 回答