![Windows Server 2012 远程桌面会话 SSL 证书](https://linux22.com/image/605061/Windows%20Server%202012%20%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E4%BC%9A%E8%AF%9D%20SSL%20%E8%AF%81%E4%B9%A6.png)
我的 Windows Server 2012 目前似乎已经休假,并且忽略了我要求它通过以下方式用于远程桌面连接的 SSL 证书
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="cb727b4dca34651444afbd939555e6c65f8434c4"
其中 cb727b4dca34651444afbd939555e6c65f8434c4 是通过本地 CA 的组策略生成的现有有效 SSL 证书的指纹。
每次我从“本地计算机 -> 远程桌面”证书存储中删除之前的自签名证书时,服务器都会继续颁发自签名证书。RDP 连接信息继续显示“远程桌面的身份已通过 Kerberos 验证”,而不是“已通过证书验证”
是的,它忽略了我设置的组策略以及直接通过 WMI 设置的策略。输出
Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"
是
__GENUS : 2
__CLASS : Win32_TSGeneralSetting
__SUPERCLASS : Win32_TerminalSetting
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_TSGeneralSetting.TerminalName="RDP-Tcp"
__PROPERTY_COUNT : 20
__DERIVATION : {Win32_TerminalSetting, CIM_Setting, CIM_ManagedSystemElement}
__SERVER : OVERWATCHD
__NAMESPACE : root\cimv2\terminalservices
__PATH : \\OVERWATCHD\root\cimv2\terminalservices:Win32_TSGeneralSetting.TerminalName="RDP-Tcp"
Caption :
CertificateName : OVERWATCHD.labs.xxx.co.nz
Certificates : {0, 0, 0, 0...}
Comment :
Description :
InstallDate :
MinEncryptionLevel : 3
Name :
PolicySourceMinEncryptionLevel : 1
PolicySourceSecurityLayer : 1
PolicySourceUserAuthenticationRequired : 1
SecurityLayer : 2
SSLCertificateSHA1Hash : CB727B4DCA34651444AFBD939555E6C65F8434C4
SSLCertificateSHA1HashType : 2
Status :
TerminalName : RDP-Tcp
TerminalProtocol : Microsoft RDP 8.0
Transport : tcp
UserAuthenticationRequired : 0
WindowsAuthentication : 0
PSComputerName : OVERWATCHD
一个月前它还能正常工作。有什么想法可以解决此问题吗?Windows 事件日志似乎没有提供太多信息。要是有一个我可以设置的调试/详细标志就好了。
答案1
您不需要删除自签名证书即可让 Windows 使用您的 CA 生成的证书。Windows 可能还需要该自签名证书来执行其他与 RDP 无关的操作。
您使用什么组策略来生成证书?是自动注册策略吗?您是否已验证您引用的指纹证书确实存在于本地计算机存储中的目标系统上?
如果一个月前可以使用,而现在却不行,证书可能已经更新了吗?如果是这样,它将具有新的指纹值。
如果有正确的证书,您还应该检查它是否具有有效的私钥。证书管理单元中的普通证书图标上方会有一个小钥匙图标。证书详细信息窗口中也会显示类似以下屏幕截图的内容: