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"だけをインストール。
インストール完了すると、「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 のマニュアル
続いて、pvk2pfxコマンドを実行します。これも同じパスにインストールされているはずです。このコマンドは、公開鍵や秘密鍵の情報をもったpfxファイルを作成するコマンドとなります。pfxファイルって何のこっちゃですが、pfxファイルとはMSの電子証明書の規格で、秘密鍵と電子証明書を一緒にパッケージしたものとのこと。IISのSSL証明書とかで利用する時に必要になるらしい。
C:\Program Files (x86)\Windows Kits\8.1\bin\x64>pvk2pfx -pvk C:\tmp\(秘密鍵).pvk -spc C:\tmp\(証明書).cer -pfx C:\tmp\(証明書名).pfx
Pvk2Pfx のマニュアル
作成されたpfxファイルをRDGatewayにインポートしてあげると、すんごい長い証明書が利用可能になります。こいつがRDGatewayで利用されるIISで使われる訳ですね。