Windows 可以记录 CryptoAPI CRL 超时吗?

Chr*_*ski 6 windows certificate encryption crl

我怀疑构建 CRL 缓存的过程可能会导致某些应用程序出现延迟。

我们有几个 .NET 应用程序,它们偶尔会在没有 CPU 或磁盘访问的情况下“运行缓慢”。我怀疑他们在尝试验证证书时挂断了身份验证,因为超时几乎是 20 秒。

根据这篇 MSFT 文章

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

由于这是一项服务,我如何检测和记录我拥有源代码的应用程序以及第 3 方的 CryptoAPI 挂起

Chr*_*ski 4

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

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

事件日志中显示的信息将有助于确定证书验证过程在何处花费了较长时间。

启用日志记录

  wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:true
Run Code Online (Sandbox Code Playgroud)

将日志保存到文件

 wevtutil.exe epl Microsoft-Windows-CAPI2/Operational filename.elf
Run Code Online (Sandbox Code Playgroud)

禁用日志记录

 wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:false
Run Code Online (Sandbox Code Playgroud)

清除日志

 wevtutil.exe cl Microsoft-Windows-CAPI2/Operational
Run Code Online (Sandbox Code Playgroud)