RemoteDesktop

HOWTO: 为 Remote Desktop Services (RDP) 创建和指派证书

        Windows 启用远程桌面后,会使用自签名证书加密 RDP,这导致用户在通过 MSTSC 启动 Remote Desktop Connection 进行连接时遇到不受信任的警告提示,此外如果部署了 Remote Desktop Services - RemoteApp,也是需要为其配置证书的,本文将只分享如何创建用于 RDP 证书,以及为 RDS 指派证书的方法和过程,其他相关的细节不会指出和讨论。

        要创建 RDP 证书需要使用 x509 证书的增强型密钥用法扩展 - “微软远程桌面验证”(Remote Desktop Authentication) ,其 OID 为:1.3.6.1.4.1.311.54.1.2 ,其中各字段表示的含义如下:

  • 1.3.6.1.4.1.311.54.1.2 - 微软远程桌面验证(Remote Desktop Authentication)
  • 1.3.6.1.4.1.311 - Microsoft
  • 1.3.6.1.4.1 - IANA 注册的私营企业
  • 1.3.6.1.4 - 互联网私人
  • 1.3.6.1 - 来自 1.3.6.1 的 OID 分配 - 互联网
  • 1.3.6 - 美国国防部
  • 1.3 - ISO 识别组织
  • 1 - ISO 分配的 OID

        已经获取到 Remote Desktop Authentication 的 OID 为 1.3.6.1.4.1.311.54.1.2,接下来就可以创建用于 RDP 的证书模板,为此启动 ADCS 控制台进入证书模板管理,基于“计算机”证书创建 RDP 证书,在“扩展”选项卡下,编辑“应用程序策略”,根据前面提供的 OID 添加新的策略扩展。

rdpcert

        当我们基于 RDP 证书模板获取到证书后,就需要指派给本机 RDP,可以参考微软官方的知识库 KB3042780 提供的方法操作。

        首先,取得 RDP 证书的 指纹,可以从申请到的证书详细信息中获取,将其复制到一个文本文件中,以备后用。

Cert_Thumbprint

        为了确保后续能正常使用,请将指纹复制到 CMD 中,删除字符串中的空格以及首部的 ASCII 字符,并重新复制到文本文件中。

Cert_Thumbprint-1

        证书指纹准备就绪后,执行如下指令替换当前计算机的 RDP 证书。

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

SSLCertificateSHA1Hash

        至此,配置结束。当然我们也可以修改注册表实现如上的步骤。

注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

键名称:SSLCertificateSHA1Hash

键类型:REG_BINARY

键值:证书指纹

        因为 RDS 运行在 “NETWORK SERVICE” 账户下,我们需要通过 MMC 载入 证书 模块,找到 RDP 证书,在 “权限” 中添加 “NETWORK SERVICE” 允许 “读取”。

Windows Client | 评论(0) | 引用(0) | 阅读(6625)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我