Я следил за
для защиты RDP с правильным сертификатом вместо самозаверяющего сертификата Windows. Все это хорошо работает. Пока я не запустил
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="MY_HASH"
Эта команда приводит только к "Invalid param".
Эта же команда хорошо работает с хешем исходного (самозаверяющего Windows) сертификата. Так что я думаю, что что-то не так с моим сертификатом. Кажется, он правильно установлен в хранилище сертификатов (с закрытым ключом и в подразделе «Remotedesktop»).
Боюсь, я должен ответить на свой вопрос, и ответ кажется Нет .
Используя команду openssl x509 -in cert.crt -purpose -noout -text
, оказывается, что исходный сертификат, доставленный Comodo, уже не имеет необходимых флагов в поле Key Usage
. У него нет функции шифрования данных
.
Сертификат Comodo выглядит так:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
В то время как самозаверяющий сертификат Windows имеет следующие флаги:
X509v3 extensions:
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Key Usage:
Key Encipherment, Data Encipherment
Я не знаю, нужен ли вам ответ на эту проблему, но если он кому-то еще нужен, вот он, у вас есть.
На самом деле вам не нужны атрибуты, указанные в вы.
Следуя инструкциям из этого поста, вы успешно установите любой 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 с правами администратора:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="YOUR-THUMBPRINT-GOES-HERE"
У меня это сработало на Windows Server 2016 / Windows 10.
Надеюсь, это поможет! :)