有了多个 RDP 证书,是否都会被检查?

有了多个 RDP 证书,是否都会被检查?

如果 Windows 主机有多个 RDP 证书。连接时会检查所有证书还是只检查第一个找到的证书?

我有一个从根 CA 部署的 RDP 证书,现在 AIA 中的 OCSP 位置无效。现在连接到每个主机显然需要更多时间来检查无效的 OCSP 地址。我会部署额外的有效 RDP 证书,但我不确定它如何处理这两个证书。如果我是对的,那么它就不会费心检查过期的证书。

但是,如果 RDP 证书没有过期,它会检查所有证书吗?然后当然仍然会抱怨 OCSP 无效吗?

我希望它能够通过一个完全有效的 RDP 证书来满足。

对于 RDP 证书,我的意思是具有增强密钥使用值为“1.3.6.1.4.1.311.54.1.2”的证书

答案1

如果您目前没有通过组策略部署它们,我建议您这样做。本文描述如何创建自定义证书模板和 GPO 以使您的服务器注册并绑定正确的证书。

我建议这样做的原因(如果您有内部 CA)是,使用 GPO 强制替换您拥有的证书可能更简洁。如果您已经有此设置,则调整证书模板并选择强制所有客户端重新注册的选项可能会让他们获取并绑定新证书。

为了回答你的实际问题,如果你有多个具有正确 EKU 的有效证书,我相信 RDP 将与具有最长有效间隔左(我做了一个简短的搜索,但目前找不到相关参考)。在这种情况下,可能值得找到几台机器,并检查哪个证书指纹用于 RDP 以及商店中有哪些有效证书。

这就是我建议全面颁发新证书的部分原因——如果证书较新/运行时间较长,RDP 应该绑定到这些证书,而不是绑定到具有不正确 OSCP 的证书。如果这看起来一致,希望可以避免编写解决方案来强制绑定哪个本地证书。根据我的经验,刷新/重新颁发有效证书无需额外步骤即可完成。

答案2

似乎可以强制绑定 RDP 连接的证书。(感谢 Reddit 上的一位朋友

检查当前绑定的证书:

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash

这可以设置它:

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<THUMBPRINT>"

如果无法通过 wmic 设置新证书,您也可以编辑注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

  • 值名称:SSLCertificateSHA1Hash
  • 值类型: REG_BINARY
  • 值数据:(证书指纹)

小心!设置无效证书会导致新的 RDP 连接无法建立。

相关内容