前回の続きの記事です。
前回はOpenSSLで実質無期限の自己署名証明書を作成しました。
IISで使用できるpfx形式に変更したところまで記しました。
今回は、その証明書をIISにインポートおよび、クライアント証明書を配布して、
クライアント端末からサーバにHTTPSで通信できるかを見ていきます。
IISで自己署名証明書の検証
前提
- Windows10 pro / home (サーバ用)
- WindowsまたはMac (クライアント用)
- 同一ネットワーク
サーバ用の端末のみでも検証は可能です。
自分自身となりますが。
1.IISをインストールする
コントロールパネルを開きます。
次に、「プログラムのアンインストール」を選択。
左側のメニューから、「Windows の機能の有効化または無効化」を選択します。
次に、下の画像のように、「インターネットインフォメーションサービス」を有効にします。ネストになっているチェックボックスは、チェックされていないこともあります。
展開して、下のようにチェックします。
「OK」を押下するとインストールが開始されます。
2.サーバが動いているか確認
インストールが完了後、
サービスマネージャから証明書をインポートする前に、
サーバが動いているか確認します。
ブラウザから、http://localhostと入力し下の画像のように表示されれば成功です。
3.IISマネージャーを開く。
IISマネージャーを開きます。
コントロールパネルから、
「システムとセキュリティ」を開き、「管理ツール」を選択します。
エクスプローラが開き、一覧の中から「インターネットインフォーメーションサービスマネージャ」を押下します。
4.サーバー証明書のインポート
左側のメニューからホスト名が表示されている項目を選択します。
そして、「サーバー証明書」を押下します。
次に、操作項目にある「インポート」を押下します。
前回の記事で作成した、pfxファイルを選択して、インポートをします。
パスワードもpfxファイルの作成時に決めたパスワードを入力します。
5.サイトにバインドする
左側のメニューから「サイト」を選択し、「Default Web Site」を開きます。
次に、右側の項目「サイトの編集」から、「バインド」を選択します。
サイトバインドのモーダルが表示されます。
「追加」から、証明書をバインドします。
サイトバインドの追加には、下のように設定します。
- 種類:https
- IPアドレス:サーバ端末のIPアドレス
- ホスト名:コモンネームと同様なドメイン
- SSL証明書:インポートした証明書
6.クライアント証明書の発行
今回は、IISマネージャからエクスポートをした証明書をクライアントへ配布します。
「4」と同じ、サーバ証明書の画面に移動します。
これで、サーバ側の設定は完了です。
クライアント端末から、SSLで接続してみます。
続いて、クライアントの設定を行います。
7.hostsに追記(Mac)
指定したドメインでサーバにアクセスするために、hostsへ情報を追加します。
まず、他意味なるを開いて管理者権限でhostsファイルを編集するコマンドを実行します。
sudo vi /private/etc/hosts
hostsファイルは、システムファイルと扱われ、
管理者権限で実行しないと編集できません。
次に、IPとドメインを紐づけます。
サーバのIPアドレス ドメイン
例) 192.168.11.12 test.com
といったように入力し、保存します。
hostsファイルは、下記にあります。
C:\windows\system32\drivers\etc\hostsGUIで編集するのであれば、notepadを管理者権限で起動後、「開く」からhostsファイルを開きます。
8.クライアント証明書をインポート
クライアント端末に証明書を追加します。
先ほど、サーバからエクスポートしたものを使用します。
Macの場合、「キーチェーンアクセス」を開きます。
証明書の項目へ証明書をインポートします。
自己署名証明書のため、信頼設定は手動で行う必要があります。
インポートした証明書をダブルクリックして「信頼」の項目を開きます。
全て「常に信頼」に変更します。
これで、クライアント端末の設定は完了です。
実際に、設定が正しいか確認をします。
動作確認
クライアントから問題なく表示できることを確認できました。
期限も問題ありません。
おわりに
端末が1台しかない方は、自身での動作確認もできますし。
仮想環境で検証を行ってもよいですね。
コメント