如何解决Microsoft 的远程桌面连接 (mstsc.exe) 在哪里缓存 OCSP 响应?
RDP/MSTSC 在哪里缓存 Windows 10 上的 OCSP 响应?
我正在 Windows 10 系统 (foo) 上使用远程桌面测试 OCSP 响应器实现,连接到另一个 Windows 10 系统 (bar)。 OCSP 响应器工作,即 foo 上的远程桌面客户端:
现在我想清除吊销缓存以继续我的测试,但我不知道该怎么做。我尝试了各种 certutil
命令并没有任何运气地重新启动 foo,例如:
certutil -setreg chain\ChainCacheResyncFiletime @Now
certutil -urlcache ocsp delete
参考:Delete local CRL cache in Windows | Microsoft Security Solutions
解决方法
我无法从 Microsoft 找到有关此事的任何权威文档,但据我的测试显示,RDP 客户端根本不请求/缓存 OCSP 响应。
相反,RDP 服务器将:
- 从 OCSP 响应者查询其证书的状态;
- 缓存响应,这似乎与远程桌面服务状态相关;和
- 在 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 举报,一经查实,本站将立刻删除。