微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Microsoft 的远程桌面连接 (mstsc.exe) 在哪里缓存 OCSP 响应?

如何解决Microsoft 的远程桌面连接 (mstsc.exe) 在哪里缓存 OCSP 响应?

RDP/MSTSC 在哪里缓存 Windows 10 上的 OCSP 响应?

我正在 Windows 10 系统 (foo) 上使用远程桌面测试 OCSP 响应器实现,连接到另一个 Windows 10 系统 (bar)。 OCSP 响应器工作,即 foo 上的远程桌面客户端:

  1. 验证酒吧的证书
  2. 从该证书中获取 OCSP URI
  3. 从其对 OCSP 响应者的查询中接收签名响应
  4. 在没有任何证书警告的情况下连接到栏

现在我想清除吊销缓存以继续我的测试,但我不知道该怎么做。我尝试了各种 certutil 命令并没有任何运气地重新启动 foo,例如:

certutil -setreg chain\ChainCacheResyncFiletime @Now
certutil -urlcache ocsp delete

参考:Delete local CRL cache in Windows | Microsoft Security Solutions

解决方法

我无法从 Microsoft 找到有关此事的任何权威文档,但据我的测试显示,RDP 客户端根本不请求/缓存 OCSP 响应。

相反,RDP 服务器将:

  1. 从 OCSP 响应者查询其证书的状态;
  2. 缓存响应,这似乎与远程桌面服务状态相关;和
  3. 在 TLS 握手(即 OCSP 装订)期间向客户端呈现证书的状态。

要清除 RDP 服务器上缓存/装订的 OCSP 响应,请重新启动远程桌面服务服务 (TermService)。


您可以通过在 RDP 会话设置期间执行数据包捕获来自己测试; TLS Server Hello 握手应包含 Certificate Status 组件。

奇怪的是,使用 openssl s_client -status -connect ... 不会测试 RDP 会显示 OCSP 响应,而测试 Web 服务器。我认为这就是最初让我失望的原因。例如,使用 OpenSSL 测试 digicert.com 会显示装订的 OCSP 响应。

openssl s_client -status -connect digicert.com:443

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。