前回は、Windowsサーバの証明書サービスを使って「オレオレ証明書」を導入するところまで解説した。

ところが、オレオレ証明書に署名を行った証明書サービスは公的な認定を受けて稼働しているものではないから、それに対応するCA証明書(認証局:Certificate Authority 自身のデジタル証明書)がクライアントPCにインストールされていない。

その場合に何が起きるかというと、オレオレ証明書をインストールしてSSL(Secure Socket Layer)を有効にしたWebサーバに接続した時に証明書が正しくないといってエラーになるのだ。この問題を解決するには、オレオレ証明書を発行した証明書サービス自身のCA証明書をクライアントPCに配布しなければならない。

この操作は、WebサーバのSSLだけでなく、後で取り上げるSSTP(Secure Socket Tunneling Protocol)などの機能を利用する場面でも同様に必要となる。

[証明書]スナップインの作成とCA証明書の配布

自家運用している証明書サービスのCA証明書をインストールする際に必要な作業には、以下の2種類がある。

  1. 証明書サービスが動作しているWindowsサーバで、CA証明書をファイルにエクスポートする
  2. その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証明書を、画面中央の一覧で選択してから、[操作]-[すべてのタスク]-[エクスポート]、あるいは右クリックして[すべてのタスク]-[エクスポート]を選択する。

[証明書]管理ツールで、自前の証明書サービスに対応するCA証明書のエクスポートを指示する

(3)「証明書のエクスポートウィザード」が起動する。ウィザード2画面目では、[いいえ、秘密キーをエクスポートしません]を選択して続行する。

(4)ウィザード3画面目は出力するファイルの形式を選択するもので、これは既定値の[DER encoded binary X.509 (.CER)]のまま続行する。

ファイルの形式は[DER encoded binary X.509 (.CER)]のまま

(5)次の画面で、出力するファイル名を指定する。どこにエクスポートしたかわからなくなると後で困るので、[参照]をクリックすると表示するダイアログで、場所とファイル名をきちんと指定するほうが良い。共有フォルダを出力先に指定しておくと、クライアントPCにCA証明書をインポートする作業が楽になる。

(6)ウィザード最終画面で[完了]をクリックすると、エクスポートを実行する。

CA証明書のインポート

次に、エクスポートしたCA証明書をクライアント側でインポートする際の手順について解説する。

インポートする先はWindows自身が持つ証明書ストアだが、実はWindows証明書ストアは「ログオン中のユーザーごとに持つもの」と「ローカルコンピュータごとに持つもの」があり、利用可能な証明書は、この両者を合成したものになる。

証明書のインポートに使用する「証明書のインポートウィザード」は、以下のいずれかの方法で実行できる。

  • エクスポートしたCA証明書のファイルをダブルクリックすると表示するダイアログの[全般]タブで、[証明書のインストール]をクリックする

  • Internet Explorerの[ツール]メニューで[オプション]を選択する。続いて表示するダイアログで、[コンテンツ]タブの[証明書]をクリックする。この操作によって表示する[証明書]ダイアログでインポートを指示する

  • 先に出てきた[証明書]管理ツールを用意して、目的の証明書ストアを選択してから[操作]-[すべてのタスク]-[インポート]、あるいは右クリックして[すべてのタスク]-[インポート]を選択する

最初の2種類の方法では、ログオン中のユーザーに対応する証明書ストアに保管することになるが、3番目の方法ではローカルコンピュータ用の証明書ストアにもインポートできる点が異なる。

証明書のファイル(*.CER)をダブルクリックすると表示するダイアログ。[証明書のインストール]をクリックするとインポートできるが、インポート先はログオン中のユーザーに対応する証明書ストアに限られる

MMCスナップイン[証明書]を使うと、ローカルコンピュータ用の証明書ストアにインポートできる

以下では、「証明書のインポートウィザード」が起動した後の手順について解説する。

(1)「証明書のインポートウィザード」の2画面目で、インポートするファイルを指定する。ここで選択するのは、先にエクスポートした証明書ファイルである。

(2)次の画面で、CA証明書を保管する証明書ストアを指定する。[証明書をすべて次のストアに配置する]を選択してから、右側の[参照]をクリックすると表示するダイアログで、最上部の[信頼されたルート証明機関]を選択する。

自動選択する仕組みもあるが、[証明書をすべて次のストアに配置する]を選択して明示的にインポート先を指定する使い方もある。その場合、[参照]をクリックすると表示するダイアログで、インポート先の証明書ストアを選択する

(3)最終画面で[完了]をクリックすると、インポートを行う。すると、インポートしたCA証明書が、インポート先に指定した証明書ストアをツリー画面で選択した際に、画面中央に現れるはずだ。