<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/1917.htm</link>
<title><![CDATA[HOWTO: 为 Remote Desktop Services (RDP) 创建和指派证书]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Fri, 16 Nov 2018 03:59:59 +0000</pubDate> 
<guid>https://maytide.net/read.php/1917.htm</guid> 
<description>
<![CDATA[ 
	<p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/RemoteDesktop.png"><img width="400" height="65" title="RemoteDesktop" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="RemoteDesktop" src="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/RemoteDesktop_thumb.png" border="0"></a></p><p><font color="#fd3f0d" size="4"><strong>HOWTO: 为 Remote Desktop Services (RDP) 创建和指派证书</strong></font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows 启用远程桌面后，会使用自签名证书加密 RDP，这导致用户在通过 MSTSC 启动 Remote Desktop Connection 进行连接时遇到不受信任的警告提示，此外如果部署了 Remote Desktop Services - RemoteApp，也是需要为其配置证书的，本文将只分享如何创建用于 RDP 证书，以及为 RDS 指派证书的方法和过程，其他相关的细节不会指出和讨论。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要创建 RDP 证书需要使用 x509 证书的增强型密钥用法扩展 - “微软远程桌面验证”（<strong>Remote Desktop Authentication</strong>） ，其 OID 为：<strong>1.3.6.1.4.1.311.54.1.2</strong> ，其中各字段表示的含义如下：</p><ul><li>1.3.6.1.4.1.311.54.1.2 - 微软远程桌面验证（Remote Desktop Authentication）</li><li>1.3.6.1.4.1.311 - Microsoft</li><li>1.3.6.1.4.1 - IANA 注册的私营企业</li><li>1.3.6.1.4 - 互联网私人</li><li>1.3.6.1 - 来自 1.3.6.1 的 OID 分配 - 互联网</li><li>1.3.6 - 美国国防部</li><li>1.3 - ISO 识别组织</li><li>1 - ISO 分配的 OID</li></ul><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 已经获取到 Remote Desktop Authentication 的 OID 为 1.3.6.1.4.1.311.54.1.2，接下来就可以创建用于 RDP 的证书模板，为此启动 ADCS 控制台进入证书模板管理，基于“计算机”证书创建 RDP 证书，在“扩展”选项卡下，编辑“应用程序策略”，根据前面提供的 OID 添加新的策略扩展。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/rdpcert.png"><img width="550" height="393" title="rdpcert" style="display: inline; background-image: none;" alt="rdpcert" src="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/rdpcert_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当我们基于 RDP 证书模板获取到证书后，就需要指派给本机 RDP，可以参考微软官方的知识库 <a href="https://support.microsoft.com/en-us/kb/3042780" target="_blank">KB3042780</a> 提供的方法操作。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先，取得 RDP 证书的 指纹，可以从申请到的证书详细信息中获取，将其复制到一个文本文件中，以备后用。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/Cert_Thumbprint.jpg"><img width="465" height="392" title="Cert_Thumbprint" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="Cert_Thumbprint" src="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/Cert_Thumbprint_thumb.jpg" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了确保后续能正常使用，请将指纹复制到 CMD 中，删除字符串中的空格以及首部的 ASCII 字符，并重新复制到文本文件中。</p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/Cert_Thumbprint-1.jpg"><img width="552" height="152" title="Cert_Thumbprint-1" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="Cert_Thumbprint-1" src="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/Cert_Thumbprint-1_thumb.jpg" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 证书指纹准备就绪后，执行如下指令替换当前计算机的 RDP 证书。</p><p><div class="code">wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash=\" THUMBPRINT\" </div></p><p><a href="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/SSLCertificateSHA1Hash.jpg"><img width="570" height="138" title="SSLCertificateSHA1Hash" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="SSLCertificateSHA1Hash" src="http://goxia.maytide.net/ftpup/2018/HOWTO--Remote-Desktop-Services-_89E3/SSLCertificateSHA1Hash_thumb.jpg" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 至此，配置结束。当然我们也可以修改注册表实现如上的步骤。</p><p>注册表路径：<strong>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp</strong></p><p>键名称：<strong>SSLCertificateSHA1Hash</strong></p><p>键类型：REG_BINARY</p><p>键值：<strong><em>证书指纹</em></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为 RDS 运行在 “<strong>NETWORK SERVICE</strong>” 账户下，我们需要通过 MMC 载入 证书 模块，找到 RDP 证书，在 “权限” 中添加 “NETWORK SERVICE” 允许 “<strong>读取</strong>”。</p>
]]>
</description>
</item>
</channel>
</rss>