前回は証明書サービスの導入について説明した。証明書サービスがスタートすると、他のコンピュータで作成した鍵ペアを対象としてデジタル署名を行い、デジタル証明書を作成・発行する機能を実現できる。また、発行済みのデジタル証明書に対する無効化処理も可能だ。
今回は手始めに、IIS(Internet Information Service)でSSL(Secure Socket Layer)を使った暗号化通信を行う目的で、証明書サービスからSSLサーバ用のデジタル証明書(サーバ証明書)を入手する際の手順について解説する。
Webブラウザ経由のサーバ証明書請求
役割サービス[証明機関Web登録]を組み込んでいれば、Webブラウザのフォーム画面を通じてサーバ証明書の請求を行える。サーバ証明書を請求する作業は、実際にSSLを動作させるサーバで行う必要がある点に注意してほしい。というのも、そのコンピュータで鍵ペアを作成したうえで、それを証明書サービスに送ってデジタル署名を受ける必要があるからだ。
なお、Windowsが使用するサーバ証明書を請求する際、WebブラウザはWindowsサーバが標準装備するInternet Explorerを使用する必要がある。Internet Explorerの証明書管理はWindowsのそれと一体化しているため、Windows自身が使用する証明書の取得にも、Internet Explorerが必要になる道理だ。他のWebブラウザは、Webブラウザのためだけに独自の証明書管理方法をとっているため、Windowsの証明書ストアにアクセスできない。
では、サーバ証明書の請求・発行手順について解説する。
(1)Internet Explorerを起動して、[ツール]-[オプション]ダイアログの[セキュリティ]タブに移動する。
(2)ゾーン一覧で[ローカル イントラネット]を選択してから、画面左下のスライダーを一番下に移動して、セキュリティレベルを[低]に変更する。そして[OK]をクリックしてダイアログを閉じる。この設定変更は、サーバ証明書の請求に使用するActiveXコントロールを動作させるために必要となるものだ。
(3)Internet Explorerのアドレスバーに、「http://localhost/certsrv/」と入力して[Enter]キーを押す。このURL中のホスト名は必ず「localhost」とする。IPアドレスあるいはFQDNによる指定を行うとインターネットゾーンと判断されてセキュリティ レベルが高まるため、ActiveXコントロールによるサーバ証明書の請求ができないからだ。
(4)Webブラウザが表示した画面で、[タスクの選択]以下の[証明書を要求する]をクリックする。
[証明書を要求する]をクリックする |
(5)次の画面で、下端にある[証明書要求の詳細設定]をクリックする。
[証明書要求の詳細設定]をクリックする |
(6)次の画面で、[このCAへの要求を作成し送信する]をクリックする。
(7)次の画面で、ActiveXコントロールに関する警告を表示するので、[はい]をクリックして有効にする。すると以下のフォーム画面を表示するので、そこでサーバ証明書に必要な項目の指定を行う。その際のポイントは以下の通り。
●[名前]の指定は必須で、SSLを動作させるサーバのFQDNと同じ内容にする。FQDNが「www.foo.local」なら、それをそのまま入力する。[電子メール][会社][部署][市区町村][都道府県]は空白のままでもよい
●[国/地域コード]は[JP]とする
●[証明書の種類を入力してください]では、[サーバー証明書]を選択する。これを間違えるとSSLが機能しないので注意したい
●[エクスポート可能なキーとしてマークする]と[秘密キーの保護を強力にする]は、既定値のオフからオンに変更する
(8)入力が完了したら、画面下端の[送信]をクリックする。続いて表示する確認画面で[はい]、その次に表示するダイアログで[OK]をクリックする。
(9)サーバ証明書の請求が正しく証明書サービスに送られると、以下の画面を表示する。そこで、画面右上隅の[ホーム]をクリックして、初期画面に戻る。
サーバ証明書の発行と導入
ここから先は、いったん請求元のInternet Explorerから離れて、[証明機関]管理ツールに操作が切り替わる。
Windows Server 2008の場合、この管理ツールは[スタート]-[管理ツール]以下から単独で起動することも、[サーバーマネージャ]で[役割]-[Active Directory証明書サービス]以下のツリーを展開して実行することもできる。
(1)[証明機関]管理ツール左側のツリー画面で、[保留中の要求]を選択する。すると、画面右側に証明書発行要求の一覧を表示する。
(2)そこで、先に要求したサーバ証明書を選択してから、[操作]-[すべてのタスク]-[発行]、あるいは右クリックして[すべてのタスク]-[発行]を選択する。画面を右にスクロールしていくと、要求ファイル作成時に指定した内容を確認できるので、複数の要求が存在する場合は、この内容を確認する方がよい。
(3)この操作により、[保留中の要求]における一覧から要求が消えて、[発行した証明書]に移るはずだ。念のために、そちらを確認しておくとよいだろう。
(4)この時点では、作成したサーバ証明書は証明書サービスの内部に格納したままなので、それを請求元となっているWindowsの証明書ストアに格納する作業が必要になる。そこで、先にサーバ証明書の要求を行った、Internet Explorerに戻る。
(5)[ホーム]画面(http://localhost/certsrv/)で、[タスクの選択]以下にある[保留中の証明書の要求の状態]をクリックする。
[ホーム]画面で、[タスクの選択]以下にある[保留中の証明書の要求の状態]をクリックする |
(6)続いて表示する画面には、要求して発行処理を行った証明書の一覧を表示しているはずだ。その際に、証明書の種類と要求した日時を表示しているので、その情報を参考にして、自分が要求した内容と一致するものをクリックする。
(7)続いて表示する[証明書は発行されました]画面で、[この証明書のインストール]をクリックする。
[証明書のインストール]をクリックする |
(8)警告画面を表示するので[はい]をクリックすると、証明書のインストールを行います。すると、Internet Explorerには[新しい証明書は正しくインストールされました]と表示する。これでサーバ証明書の組み込みは完了である。
(9)サーバ証明書の組み込みが終わったら、安全のために、最初にレベルを下げたInternet Explorerのセキュリティゾーン設定を元に戻す。
(10)IISの管理ツールでSSLを有効化する。これについては、CAから正式なサーバ証明書を入手したときの操作手順と併せて解説するので、今回は割愛する。しばしお待ちいただきたい。