私の証明書は、必要に応じて2つのファイルが付属していますdomain.crt
&domain.ca-bundle
&その後、私は私が持っているdomain.key
要求を生成するから。
Linux VMを使用して証明書を組み合わせ、フィンガープリントとWindows CMDを生成してホストをセットアップする方法を以下に示します。これにより、セットアップの完全なスクリプトを作成できます。
私と@gogoudの答えの最大の違いは次のとおりです。
- レジストリは編集しません。私はそれを試してみましたが、うまくいきませんでした
wmic /namespace:
。CMDプロンプトを使用しました。
- Linux VMの「フィンガープリント」の行を調整して、サムプリントの不要な部分をすべて取り除き、Windowsが望む形式で配置しました。(IE:コロンなし、単語なし、小文字の指紋のみ)。
NETWORK SERVICE
権限を追加するスクリプトも作成しました。
作業するディレクトリを作成し、3つのファイルをその中に移動します。
domain.ca-bundle domain.crt domain.key
pfx形式のキーを作成します。
sudo openssl pkcs12 -export -out domain.pfx -inkey *.key -in *.crt -certfile *.ca-bundle
SSLCertificateSHA1Hash / FingerPrintをTXTファイルにエクスポートします。
sudo openssl x509 -in *.crt -noout -fingerprint | sed -e 's/SHA1 Fingerprint=//g' | sed -e 's/://g' | tr '[:upper:]' '[:lower:]' > SSLCertificateSHA1Hash.txt
証明書をWindowsにインポート(Open Elevated CMDプロンプト):
次に、SSLCertificateSHA1HashをCMD(Elevated CMD Prompt)を介してRDP-Tcpに追加します。
set /p FingerPrint=<C:\SSLCertificateSHA1Hash.txt
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="%FingerPrint%"
ここで、ユーザー「ネットワークサービス」と「読み取り専用」権限を追加する必要があります。
icacls.exe "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\*" /grant "NETWORK SERVICE":R
ホストを再起動:
shutdown /r /t 5