初めに
既にIISでhttpサーバーを作っている環境でhttps接続を追加する方法を検討します。
証明書の準備
前提
正式対応する場合には、ルート証明書によって証明された証明書が必要になりますが、今回はテスト環境を想定し、自己証明書でやってみます。
自己証明書作成
Windowsの場合は管理者権限でPowerShellを開き、以下のコマンドを実行することでストアに自己証明書が格納されます。
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
※ DnsNameについて
-DnsNameのパラメータの値はその証明書が証明するサイトを示すことになります。
そのため、IPアドレスの場合は、また別途証明書に工夫が必要ですが、次回以降に回します。
IISの設定
IISで上記で作成した証明書をバインドします。
-
IISマネージャーを開く
-
サイトを選択
対象のウェブサイトを選択する。
5-2. SSL証明書で選択をクリックする。
先ほど登録しておいた証明書を選択する。
https接続
httpsで接続します。
証明書が信用されていないため、以下の画面になります。
その場合でも、「詳細」→「localhostに進む」で表示できます。
証明書の取り込み
サーバーPCで登録しておいた証明書をエクスポートします。
管理者権限のPowershellで以下のコマンドを実行します。
$cert = Get-ChildItem -Path cert:\LocalMachine\My | Where-Object { $_.Subject -like "*localhost*" }
Export-Certificate -Cert $cert -FilePath "(出力先ディレクトリ)\exported_certificate.cer"
※(出力先ディレクトリ)\exported_certificate.cerは任意のファイル名を指定して下さい。
証明書のインポート
上記で取り出した証明書をインポートします。
以下のコマンドで証明書マネージャーを開きます。
certmgr.msc
「信頼されたルート証明機関」→「証明書」で右クリックし、
すべてのタスク→インポートを選択します。
以上で信用されて表示されるようになります。