ここからはSSLサーバーに接続するクライアント側の設定についての説明になります。Windows 7 で確認しています。
クライアント認証接続をする場合、作成した証明書を適切な形でインストールする必要があります。本稿では cliant_cert.p12 ファイルのことになります。
これらはブラウザによって証明書のインストール方法に違いがありますので、代表的な Firefox と IE11、Chrome における個人証明書のインストール手順について説明します。
オプション > 詳細タブ > [証明書を表示]ボタン > あなたの証明書タブ > [インポート]ボタン から、作成した cliant_cert.p12 をインポートします。
インポート時に個人証明書を作成した時に設定したパスワードを求められるので、入力すると取り込まれます。
IEの場合は、Firefox のようにブラウザ単体で管理するのではなく、OS が持っている証明書を管理機能を利用しています。cliant_cert.p12 をダブルクリックして、指示に従い以下の手順でインストールします。
OK で次に進みます。
証明書作成時に設定したパスワードの入力を求められるので入力します。秘密キーの保護を強力にするにチェックを入れると、証明書を使用する度にこのパスワードを要求されます。
エクスポート可能にするにチェックを入れた場合、この証明書マネージャーから秘密鍵を含む完全な証明書としてエクスポートが可能になります。ここでは全ての拡張プロパティを含める、だけにチェックを入れてます。
「証明書の種類に基づいて自動的に証明処す他を選択する」にチェック
次へ ボタンを押すとインポートが完了します。
これでクライアント認証を必要とする当該のURLに Internet Explorer でアクセスすると接続できるようになります。
Chrome の場合も、IE と同様に個人証明書の管理は OSの証明書マネージャを利用していますので、前述のIEと同じ手順で、証明書を登録すれば、クライアント認証が利用可能になります。
ちなみに、Chrome で個人証明書を登録しないで、クライアント認証を有効にしたページにアクセスすると、以下のようなメッセージが表示されます。
「サーバーとの安全な接続を確立できません。サーバー側に問題があるか、サーバーが必要とするクライアント認証証明書を所持していない可能性があります。」
Windows7 でインストールした証明書を削除したり、管理を行う場合は、証明書マネージャーで行います。Chrome も同様にこれらの機能を利用しています。
スタートボタンをクリックし 「プログラムとファイルの検索」の入力ボックスに certmgr.msc と入力して、Enterキーを押すことで起動できます。
画面左の個人フォルダの証明書フォルダの中に、先程インストールした証明書がありますので、右クリックして削除したり無向にしたり出来ます。
ちなみに Firefox の場合は、取り込んだ証明書の管理は Firefox自身で行いますので、インストールしたときと同じ画面から削除が行えます。
補足:特に Windows Professional 版で、EFS 暗号化システムを利用している場合は、誤って証明書を削除したりしないように注意して下さい。証明書マネージャーでは、これらのファイル暗号化に必要な証明書も管理しています。不用意に触ると二度とファイルが開けなると言った致命的なミスもやってしまうリスクはなきにしもあらずなので、よく分らないで操作するのは、ケースによっては大きなリスクを伴う作業になり得ますので注意が必要です。
Firefox や 最近のインターネット関係のアプリケーションは、公の信用できる証明書を利用したサーバー証明書を利用しない SSL通信を行おうとした場合、その旨の警告は出ますが、例外として警告を出さないようにする事が出来ます。
最近のクライアントの多くはそのようになっていると思われますが、中には常に警告を出し続けるアプリケーションもあるかもしれません。その際、事前にCAの公開鍵をそのアプリケーションや、Windows にインストールすれば、接続のたびに出る警告をなくすことが出来ます。
/etc/pki/CA/ca.der
これはクライアント認証を求めない通常のSSL通信においての話しです。このCA公開鍵の作成については先述しています。また、不特定多数の第三者にSSL通信をしてもらうために配布する類のものでもありません。
昔、そのように配布している人を見かけたので。本稿では、あくまで、時組織の限られた利用を想定しています。
補足:Firefox の場合、信頼できる認証局なので例外の必要はない、といいながら、例外として登録が出来なくなる場合があります。その上、接続できない、という訳の分からない状態になるときがあります。どうもバグのようなので、このような状態になった場合は、一度、キャッシュをクリアにすると例外として登録できるようになります。