【问题标题】:Where does Microsoft's Remote Desktop Connection (mstsc.exe) cache OCSP-responses?Microsoft 的远程桌面连接 (mstsc.exe) 在哪里缓存 OCSP 响应?
【发布时间】:2021-07-27 00:30:55
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: remote-desktop


    【解决方案1】:

    我找不到任何来自 Microsoft 的明确文档,但据我的测试可知,RDP 客户端 根本不请求/缓存 OCSP 响应。

    相反,RDP 服务器将:

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

    要清除 RDP 服务器上缓存/装订的 OCSP 响应,请重新启动 Remote Desktop Services 服务 (TermService)。


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

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

    openssl s_client -status -connect digicert.com:443
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多