IISでのクライアント証明書利用設定入門
以下で、IISでのクライアント証明書利用設定の入門部分を紹介しますが、最初のポイントは、以下の2点です。
- IISでクライアント証明書を利用する場合、あらかじめIISサーバーにクライアント証明書を登録する必要があります。
- IISサーバーにSSLサーバー証明書がインストールされていない状態でもクライアント証明書を利用したクライアント認証は可能です。
IISサーバーに登録するクライアント証明書情報を準備する
IISサーバーに認証を受けるすべてのクライアント証明書を登録する必要があります。以下の手順でクライアント証明書情報を取得します。
-
クライアント証明書がインストールされているPCで「スタート」ボタンをクリックし、検索ボックスに「certmgr.msc」と入力して Enter キーを押します。「certmgr」が表示されます。
※クライアント証明書を Firefoxのみで利用する設定になっている場合は、事前にクライアント証明書を「証明書ストア」に登録しておく必要があります。
「証明書ストア」への登録方法は
FireFoxの場合を参照してください。

-
左メニューで「個人」->「証明書」の順にクリックし、右ペインで対象のクライアント証明書をダブルクリックします。

-
証明書ウィンドウで「詳細」タブをクリックします。

-
「発行者」を選択し、「ファイルにコピー」ボタンをクリックします。

-
「証明書のエクスポートウィザード」で「次へ」をクリックします。

-
「証明書のエクスポートウィザード」で「いいえ、秘密キーをエクスポートしません」を選択し「次へ」をクリックします。

-
「エクスポートファイルの形式」ページで「Base64 encoded X.509(.CER)」を選択し「次へ」をクリックします。開いた「エクスポートするファイル」ページで「参照」をクリックします。

-
ファイルマネージャーで保存するディレクトリを選択し、「ファイルの種類」を「すべてのファイル」に変更し、保存するファイル名の拡張子を .pem とし、「保存」をクリックします。

-
「エクスポートするファイル」ページで「次へ」をクリックします。

-
「証明書のエクスポートウィザードの完了」ページで「完了」をクリックし、最終確認で「OK」をクリックします。

-
保存した .pem ファイルをテキストエディターで開き、「—–BEGIN CERTIFICATE—–」行と「—–END CERTIFICATE—–」行を削除し、残りのデータから改行を削除し、1行のデータにします。これが、IISサーバーに登録するクライアント証明書情報です。
IISサーバーにクライアント証明書情報を登録する
-
「IISの管理ツール」からクライアント証明書によるクライアント認証を設定するWebサイトを開き、「構成エディター」を開きます。

-
「構成エディター」「セクション」で
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
を開きます。クライアント認証の設定画面が表示されます。
「oneToOneCertificateMappingsEnabled」を「True」に設定し、「oneToOneMappings」を選択すると同一行の右端に「…」が表示されますので、それをクリックします。

-
「操作」ペイン「コレクション」で「追加」をクリックします。

-
下部に「プロパティ」ペインが表示されますので「certificate」行に準備した「クライアント証明書情報」を貼り付けます。password、useNameは適宜入力します。

-
「IISの管理ツール」からWebサイトの「SSL設定」を開きます。

-
「SSL設定」ページで「SSLが必要」を選択している場合は、「クライアント証明書」で「受理」あるいは「必要」を選択します。
「SSLが必要」を選択していない場合は、「クライアント証明書」で「受理」を選択します。

関連情報