撤销证书仍然有效

我最近在一个Windows 2012 R2服务器上设置了一个新的域,并join了独立CA,这个服务器可公开访问并且可以正常validation,但是撤销的证书似乎仍然是validation的。 实际的服务器端撤销过程正常工作,因为撤销的证书在发布后被添加到CRL中,但证书仍然对客户端进行身份validation。

我已经添加了可从外部访问的CDP和AIA位置,并使用以下命令清除了本地CRLcaching客户端:

certutil -urlcache CRL delete 

 certutil -setreg chain\ChainCacheResyncFiletime @now 

我知道最后一条命令的最低操作系统要求。 客户端是Windows 7以上。

我正在使用一个简单的testing应用程序在客户端configuration为使用一个证书,所以如果撤销将停止工作,但不是在这种情况下。 如果我从本地证书存储中删除证书,那么它会停止工作,以确信它依赖于这一个证书。

到目前为止,所有的networkingsearch都导致了上述命令,并确保CDP可以在外部parsing,但是我已经介绍了这些问题。

我欣赏和build议

I'm using a simple test app on the client that is configured to use the one certificate so if revoked would simply stop working

您需要validation客户端是否正在使用tcp / 80将数据包捕获检查到您的CRL。 那将需要五分钟。

如果要validationWindows CRL检查是否正常,可以在客户端上使用以下命令:

 certutil -f –urlfetch -verify ExportedCertificate.cer 

您还需要启用CAPI2事件日志,那么将在那里logging任何CRL检查失败。

但是,应用程序使用和validation证书的方式与Windows将使用和validation证书的方式不一定相同。

认为这是值得报告我的发现。

事实certificate,Windows正在吊销证书,但CRL的一些本地caching按照devise意图进行。 看起来,即使证书显示为撤销,caching的副本仍然使用,无论如何,直到一个特定的时期已经过去,但是,从我的理解,我跑在我的第一个职位的两个命令应该已经过期,并要求一个最新从服务器的date,但似乎并不是这样的情况。

我已经介绍了增加CRLs,使得故障排除必须更快,现在一切似乎都很好,所以最终的虚警也是如此。

感谢您的build议格雷格