前回は、Windowsサーバの証明書サービスを使って「オレオレ証明書」を導入するところまで解説した。
ところが、オレオレ証明書に署名を行った証明書サービスは公的な認定を受けて稼働しているものではないから、それに対応するCA証明書(認証局:Certificate Authority 自身のデジタル証明書)がクライアントPCにインストールされていない。
その場合に何が起きるかというと、オレオレ証明書をインストールしてSSL(Secure Socket Layer)を有効にしたWebサーバに接続した時に証明書が正しくないといってエラーになるのだ。この問題を解決するには、オレオレ証明書を発行した証明書サービス自身のCA証明書をクライアントPCに配布しなければならない。
この操作は、WebサーバのSSLだけでなく、後で取り上げるSSTP(Secure Socket Tunneling Protocol)などの機能を利用する場面でも同様に必要となる。
[証明書]スナップインの作成とCA証明書の配布
自家運用している証明書サービスのCA証明書をインストールする際に必要な作業には、以下の2種類がある。
- 証明書サービスが動作しているWindowsサーバで、CA証明書をファイルにエクスポートする
- そのCA証明書のファイルを、クライアント側でインポートする
エクスポートやインポートの作業を行う手段はいろいろあるが、ここではMMCスナップイン[証明書]を使う方法について解説する。このスナップインを使うと、Windowsが持つさまざまな証明書ストアにアクセスして、証明書を任意の場所に配置できる利点がある。
ただし、[証明書]スナップインは初期状態では登録されていないため、以下の手順でMMC.EXEにスナップインを登録して、カスタムMMCコンソールを作成する必要がある。
(1) [スタート]-[ファイル名を指定して実行]、あるいは[スタート]メニュー以下の検索ボックスで「MMC」と入力して、MMC.EXEを実行する。
(2)[ファイル]-[スナップインの追加と削除]を選択する。
(3)左側の[利用できるスナップイン]で[証明書]を選択して、画面中央の[追加]をクリックする。
(4)続いて表示するダイアログで、[ユーザーアカウント]を選択して[完了]をクリックする。
(5)もう一度、左側の[利用できるスナップイン]で[証明書]を選択して、画面中央の[追加]をクリックする。
(6)続いて表示するダイアログで、[コンピュータアカウント]を選択して[完了]をクリックする。
(7)[OK]をクリックしてダイアログを閉じる。すると、2種類のツリー画面を持つMMC管理コンソールができるはずだ。そこで、そのMMC.EXEを終了する。
(8)終了の際にコンソールファイルを保存するかどうか訊ねてくるので、適当な名前をつけて保存しておく。すると、[スタート]-[すべてのプログラム]-[管理ツール]以下から呼び出せるようになる。
こうして用意した[証明書]管理ツールを使って、CA証明書のエクスポートを行う。その際の手順は以下の通りだ。
(1)左側のツリー画面で、[証明書(ローカルコンピュータ)]-[信頼されたルート証明機関]-[証明書]を選択する。
(2)目的のCA証明書を、画面中央の一覧で選択してから、[操作]-[すべてのタスク]-[エクスポート]、あるいは右クリックして[すべてのタスク]-[エクスポート]を選択する。
(3)「証明書のエクスポートウィザード」が起動する。ウィザード2画面目では、[いいえ、秘密キーをエクスポートしません]を選択して続行する。
(4)ウィザード3画面目は出力するファイルの形式を選択するもので、これは既定値の[DER encoded binary X.509 (.CER)]のまま続行する。
(5)次の画面で、出力するファイル名を指定する。どこにエクスポートしたかわからなくなると後で困るので、[参照]をクリックすると表示するダイアログで、場所とファイル名をきちんと指定するほうが良い。共有フォルダを出力先に指定しておくと、クライアントPCにCA証明書をインポートする作業が楽になる。
(6)ウィザード最終画面で[完了]をクリックすると、エクスポートを実行する。
CA証明書のインポート
次に、エクスポートしたCA証明書をクライアント側でインポートする際の手順について解説する。
インポートする先はWindows自身が持つ証明書ストアだが、実はWindows証明書ストアは「ログオン中のユーザーごとに持つもの」と「ローカルコンピュータごとに持つもの」があり、利用可能な証明書は、この両者を合成したものになる。
証明書のインポートに使用する「証明書のインポートウィザード」は、以下のいずれかの方法で実行できる。
エクスポートしたCA証明書のファイルをダブルクリックすると表示するダイアログの[全般]タブで、[証明書のインストール]をクリックする
Internet Explorerの[ツール]メニューで[オプション]を選択する。続いて表示するダイアログで、[コンテンツ]タブの[証明書]をクリックする。この操作によって表示する[証明書]ダイアログでインポートを指示する
先に出てきた[証明書]管理ツールを用意して、目的の証明書ストアを選択してから[操作]-[すべてのタスク]-[インポート]、あるいは右クリックして[すべてのタスク]-[インポート]を選択する
最初の2種類の方法では、ログオン中のユーザーに対応する証明書ストアに保管することになるが、3番目の方法ではローカルコンピュータ用の証明書ストアにもインポートできる点が異なる。
以下では、「証明書のインポートウィザード」が起動した後の手順について解説する。
(1)「証明書のインポートウィザード」の2画面目で、インポートするファイルを指定する。ここで選択するのは、先にエクスポートした証明書ファイルである。
(2)次の画面で、CA証明書を保管する証明書ストアを指定する。[証明書をすべて次のストアに配置する]を選択してから、右側の[参照]をクリックすると表示するダイアログで、最上部の[信頼されたルート証明機関]を選択する。
自動選択する仕組みもあるが、[証明書をすべて次のストアに配置する]を選択して明示的にインポート先を指定する使い方もある。その場合、[参照]をクリックすると表示するダイアログで、インポート先の証明書ストアを選択する |
(3)最終画面で[完了]をクリックすると、インポートを行う。すると、インポートしたCA証明書が、インポート先に指定した証明書ストアをツリー画面で選択した際に、画面中央に現れるはずだ。