Windows可以loggingCryptoAPI CRL时序吗?

我怀疑构buildCRLcaching的过程可能会在某些应用程序中造成延迟。

我们有几个.NET应用程序偶尔会“慢”,没有CPU或磁盘访问。 我怀疑在尝试validation证书时,它们挂起了身份validation,因为超时时间将近20秒。

按照这个MSFT文章

大多数应用程序不指定CryptoAPI使用累积超时。 如果累计超时选项未启用,则CryptoAPI将使用CryptoAPI默认设置,即每个URL超时15秒。 如果应用程序指定的累计超时选项,则CryptoAPI将使用默认设置20秒作为累积超时。 第一个url的最大超时时间为10秒。 每个后续的URL超时值是累计超时值中剩余余额的一半。

由于这是一个服务,我如何检测和loggingCryptoAPI挂起我有源代码的应用程序,也是第三方

获取更多信息的一种方法是启用CAPI2事件日志

  • 打开Eventvwr – >应用程序和服务日志 – >
  • 微软 – > Windows – > CAPI2 – >操作 – >
  • 右键单击启用日志

出现在事件日志中的信息将有助于确定证书validation过程在哪里需要很长时间。

启用logging

wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:true 

将日志保存到文件

  wevtutil.exe epl Microsoft-Windows-CAPI2/Operational filename.elf 

禁用日志logging

  wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:false 

清除日志

  wevtutil.exe cl Microsoft-Windows-CAPI2/Operational 

我有几种不同的select,因为解决潜在的PKI问题可能是一个复杂的问题。

CRL是缓慢的,繁琐的野兽…

首先,我要告诉你,CRL超时已经导致了世界上最大的PKI不使用CRL来满足绝大多数的PKIvalidation需求。 下载一个50MB的文件,当用户只需要一个简单的是或否才发送encryption的电子邮件是一个非起动器!

如何做validation

1 – 您可以使用第三方validation客户端(例如Tumbleweed或其他)来testing替代的Microsoft本机validation客户端,然后监控第三方validation客户端(作为控件)。 Tumbleweed / Axways销售并提供受欢迎的第三方validation客户端,OCSP中继器和响应者的试用。 您也可以使用OpenSSL,ejbca或OpenCA作为validation响应者。 此外,还有一个OSS框架PKIF,包括特定的CAPI日志loggingfunction,以及位于http://pkif.sourceforge.net/的 OCSP客户端。

2 – 您可以控制validation数据源(CRL,OCSP,SCVP)。

3 – 问题的另一个来源可能是DNSparsing速度缓慢,缺lessDNScaching或configuration错误的PKI,缺less信任或刷新CRL所需的时间(如果PKI较大,则会导致临时挂起)。

你能分享一些关于应用程序configuration,PKI本身,x509证书领域,带宽等方面的更多细节。特别是我对与validation相关的领域感兴趣,比如授权信息访问(AIA)字段例如,以及对CRL或OCSP的任何硬编码引用。

请记住,响应types中也有众所周知的模糊性。 针对OCSP的RFC具有的问题是,对于validation不了解的证书,好的响应和未知的响应同样有效。

讨论替代scheme:

有两种主要的证书validation方法,白名单和黑名单。

黑名单协议包括CRL,OCSP和SCVP,以及OCSP的变体。

Windows上的白名单可以使用OCSP与CA DB,CTL *和SCVP连接来执行。

在大多数情况下,白名单方法被认为是优越,更安全,更快,更实时,更好的替代黑名单方法。

对于它的价值,有一个修补程序可能无法解决特定问题,但包含更新的cryptnet.dll来解决OCSP问题。 这个特殊的文件也没有在SP1中更新。

您不能使用基于证书的login方法来validation运行Windows Server 2008 R2的计算机上的请求

http://support.microsoft.com/kb/2666300