如何强制 Windows Server 2008 R2 通过 TLS 为 RDP 使用特定的中间证书?

如何强制 Windows Server 2008 R2 通过 TLS 为 RDP 使用特定的中间证书?

我们正在将 SHA-1 签名证书转换为 SHA-256 签名证书,主要原因是Google 逐步淘汰 SHA-1。其中许多服务器都是基于 Windows 的 IIS 服务器,因此我们还对它们进行配置,以使用新证书进行 RDP 的 TLS 连接。

此过程还包括交换中间证书,因为服务器当前正在使用它们(SHA-1),并且它们需要使用新的证书(SHA-256)。

问题是我不知道如何让服务器停止使用 SHA-1 中间证书。使用 RDP over TLS 时,它们会继续发送该证书而不是新的 SHA-256 中间证书,这会导致官方 Mac RDP 客户端崩溃:

RDP 证书错误

但错误消息(不受信任的根证书)显然是不正确的。

Root 受信任

但关键点在于,这种情况仅在发送 SHA-1 中间文件时才会发生。使用 OpenSSL,我可以看到正在发送 SHA-1 中间文件。

当它发送 SHA-256 中间件时,错误消息不会发生。我该如何配置我的 Windows 服务器来发送它并且永不发送 SHA-1 呢?或者我误解了某些事情并且偏离了主题?

我尝试过的事情:

  • 使用 SHA-1 中间证书上的“编辑属性”按钮禁用它的所有用途。
  • 从所有证书存储中删除 SHA-1 中间证书。
  • 这些事情完成后重新启动远程桌面服务。
  • 完成这些事情后重新启动。

笔记:

  • Windows 客户端不受影响。它们连接正常,并显示连接安全。
  • 我们正在使用 StartCom 证书。所有受影响的服务器之前都安装了 SHA-1 证书和 StartCom SHA-1 中间证书,但现在都安装了 SHA-256 证书。
  • 仅安装了 SHA-256 的新 Windows 服务器就可以正常工作。

答案1

将评论转换为答案:

您能否尝试通过将 SHA-1 证书移至机器的“不受信任”证书存储来手动将其列入 IIS 上的黑名单?

事后想想:我很好奇这是否会起作用。现在事实证明它确实有效。(但这似乎有点草率和粗略。算了。)

相关内容