我跟着
使用适当的证书而不是自签名的 Windows 证书来保护 RDP。这一切都很好。直到我跑
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="MY_HASH"
此命令只会导致“无效参数”。
相同的命令适用于原始(自签名 Windows)证书的哈希。所以我想我的证书一定有问题。它似乎已正确安装在证书存储中(使用私钥并在“Remotedesktop”小节下)。
查看认证 MMC 管理单元中的证书详细信息,我导入的证书旁边有一个黄色感叹号:
密钥使用 = 数字签名、密钥加密 (a0)
和附加字段
基本限制 = 请求者类型:最终单位
虽然 Windows 为 RDP 连接生成的自签名证书具有:
密钥使用 = 密钥加密、数据加密 (30)
无论如何要改变这一点,还是不能将此证书用于RDP?
一些附加信息:
- 该证书是 COMODO PositiveSSL 通配符证书,
- 在将证书导入 Windows 证书存储之前,我使用 OpenSSL 将证书从原始 PEM 表单转换为 PKCS7 并从 PKCS7 转换为 PKCS #12/PFX,
- 证书之间的另一个区别是 Windows 证书是 sha1 证书,而 Comodo 证书是 sha256 证书,
- 这是一个Win10工作站,
- 工作站不是任何域的成员,而是独立安装。
恐怕我必须回答我自己的问题,而答案似乎是否定的。使用该命令
openssl x509 -in cert.crt -purpose -noout -text
发现 Comodo 交付的原始证书已经缺少该Key Usage
字段所需的标志。它没有这个Data Encipherment
功能。Comodo 证书如下所示:
虽然 Windows 自签名证书具有以下标志:
我不知道你是否还需要这个问题的答案,但如果有人仍然需要它,你有它。
你真的不需要你指定的属性。
按照本文中的步骤,您将成功在计算机/域控制器上安装任何 CRT(通配符或普通)。
我没有在没有 AD CS 的情况下进行测试,但我认为它可以工作。
您唯一需要做的就是使用密钥和捆绑包将 CRT/p7b 转换为 cer,然后转换为 pfx (pkcs12)。然后手动将其导入您的操作系统。
https://blogs.technet.microsoft.com/enterprisemobility/2010/04/09/configuring-remote-desktop-certificates/ - 这是帖子。
https://www.sslshopper.com/ssl-converter.html - 在这里您可以找到如何转换证书。
顺便说一句,您可以跳过 WMI 脚本部分并使用具有管理权限的 powershell 中的以下命令:
它在 Windows Server 2016/Windows 10 上对我有用。
希望能帮助到你!:)