WindowsのRemoteDesktopGatewayを利用していて、自己署名証明書をすんごく長くする方法

WindowsのRemoteDesktopGatewayを利用していて、自己署名証明書が6ヶ月で切れてしまうのが煩わしかったのですが、これ、すんごく長くする方法があったのですね。知りませんでした。

WindowsServer2016で作業。

"Windows Software Development Kit (SDK) for Windows 8.1"をインストールします。"Windows 10 SDK"というものもあり、最初こちらをインストールしたのですが、うまくいきませんでした。実際に証明書を作成する"makecert"コマンドというものが、インストールしたのに見つかりませんでした。なので、8.1を利用しました。

Windows Software Development Kit (SDK) for Windows 8.1

Windows SDK for Windows 8.1 – Windows app development

インストールexeを叩くとウィザードが開始されるので、"Windows Software Development Kit"だけをインストール。

f:id:goodbyegangster:20180109143450j:plain

インストール完了すると、「C:\Program Files (x86)\Windows Kits\8.1\bin\x64」に実行コマンドであるmakecertがいるので、確認。

C:\Users\Administrator>cd "C:\Program Files (x86)\Windows Kits\8.1\bin\x64"

makecertコマンドを実行して、自己署名証明書を作成します。-eku で指定されているOID"1.3.6.1.5.5.7.3.1"は、WEBのSSLで利用される証明書であることを指定しています。-sv では秘密キーファイル(pvk)を指定しています。秘密キーファイルがない場合、コマンド実行時に自動的にて作成されます。

秘密鍵と証明書の名前は、証明書名と同じにしておくのが良いのかな。

C:\Program Files (x86)\Windows Kits\8.1\bin\x64>makecert -n "CN=(証明書名)" -r -a sha512 -eku 1.3.6.1.5.5.7.3.1 -sv C:\tmp\(秘密鍵).pvk C:\tmp\(証明書).cer
Succeeded

Makecert.exe のマニュアル

Makecert.exe (証明書作成ツール)

続いて、pvk2pfxコマンドを実行します。これも同じパスにインストールされているはずです。このコマンドは、公開鍵や秘密鍵の情報をもったpfxファイルを作成するコマンドとなります。pfxファイルって何のこっちゃですが、pfxファイルとはMSの電子証明書の規格で、秘密鍵電子証明書を一緒にパッケージしたものとのこと。IISSSL証明書とかで利用する時に必要になるらしい。

C:\Program Files (x86)\Windows Kits\8.1\bin\x64>pvk2pfx -pvk C:\tmp\(秘密鍵).pvk -spc C:\tmp\(証明書).cer -pfx C:\tmp\(証明書名).pfx

Pvk2Pfx のマニュアル

Pvk2Pfx | Microsoft Docs

作成されたpfxファイルをRDGatewayにインポートしてあげると、すんごい長い証明書が利用可能になります。こいつがRDGatewayで利用されるIISで使われる訳ですね。

f:id:goodbyegangster:20180109143451j:plain