Web サーバ設定ガイド（IIS10.0 クライアント証明書マッピング認証編）

2020 年 11 月 10 日
Ver. 1.30

改訂履歴版

日 付

内 容

備

Ver.

--

初版作成

2020/10/12

3.5 サーバ証明書のインポートを追加

1.10
Ver.
1.20
Ver.

設定不要箇所の削除
2020/11/10

CA4 に関する記載の追加

1.30

1考

＜目次＞

1. 本書の目的 ................................................................................................................... 3
2. 注意点 ........................................................................................................................ 4
3. 設定手順...................................................................................................................... 5
3.1. 手順の流れ ............................................................................................................. 5
3.2. IIS クライアント証明書マッピング認証の役割追加 .......................................................... 6
3.3. IIS へのアクセス許可ユーザーの作成（OS の設定） ......................................................... 8
3.4. クライアント証明書と紐づく ルート証明書、中間証明書のインポート ................................. 8
3.5. サーバ証明書のインポート ....................................................................................... 15
3.6. サイトのバインド編集 ............................................................................................. 17
3.7. 認証の設定 ........................................................................................................... 18
3.8. IIS 多対 1 マッピング規則（ルール）の設定 ............................................................... 19
3.9. SSL 設定 .............................................................................................................. 23
3.10. クライアント証明書の情報参照（クライアント側） ..................................................... 24

2

1. 本書の目的
本書は、Windows Server 2019 環境で動作する、インターネット インフォメーション サービス バージョン 10.0（以降 IIS 10.0）で構築された Web アプリケーションに SSL クライアント認証を実装し、プログラムを介さずクライアント証明書の発行元、サブジェクトでフィルタリングする手順を記述します。

以下が、SSL クライアント認証の概要図です。

XXXX

クライアント証明書

Web サーバ（WindowsServer 2019）
Webサーバ（Windows2008R2）
クライアント証明書

XXXX

クライアント
証明書

発行元＋サブジェクトが一致

XXXX

クライアント証明書

マッピング

SSL3.0アクセスOSユーザー（IIS接続許可）3

2. 注意点
本書では、Windows Server 2019 環境に IIS10.0 をインストールした環境で検証した結果を記述します。
稼働中の IIS の設定状況や、バージョン等、環境に依存して、本手順だけでは網羅できない場合がございます。

4

3. 設定手順
3.1. 手順の流れ■OS（Windows）の設定
・IIS のインストール ※本手順では割愛
3.2 IIS クライアント証明書マッピング認証の役割追加
3.3 IIS へのアクセス許可ユーザーの作成
3.4 クライアント証明書と紐づく、ルート証明書、中間証明書のインポート■IIS の設定
3.5 サーバ証明書のインポート
3.6 サイトのバインド編集（https のポートとサーバ証明書のバインド設定）
3.7 認証の設定
3.8 多対 1 マッピング規則の設定
3.9 SSL 設定■クライアントの設定
3.10 クライアント証明書の情報参照（クライアント側）

5

3.2. IIS クライアント証明書マッピング認証の役割追加① Web サーバのサーバーマネージャを起動し、”IIS”→”Web サーバ”を選択。
右クリックで”役割と機能の追加”を選択します。

② 下記の画面のどちらかが表示されたら、いずれの場合も”サーバの選択”をクリックします。

6

③ Web サーバが選択されていることを確認して“次へ“ボタンをクリックします。

④ 役割の“Web Server（IIS）”→“Web Server“→”Security”に含まれる、“IIS Client Certificate MappingAuthentication”がインストールされていることを確認。（クライアント証明書のマッピング認証は本手順では使用しません。
）
未インストールの場合は、チェックを入れて”次へ”ボタンをクリックしてインストールします。

7

3.3. IIS へのアクセス許可ユーザーの作成（OS の設定）
"スタート"→"管理ツール"→"コンピューターの管理"→"ローカルユーザとグループ"を開き、"ユーザー"を選択し任意のユーザー（本手順では、”inetUsr”とします。）を作成します。
① ユーザー情報の入力。
・"ユーザー名(U)"→任意で入力・"パスワード(P)"→任意で入力・"パスワードの確認入力(C)" →任意で入力
・"ユーザーは次回ログオン時にパスワードの変更が必要(M)"→チェックをはずす

・"ユーザーはパスワードを変更できない(S) "→チェックする・"パスワードを無期限にする(W) "→チェックする・"アカウントを無効にする(B) "→チェックをはずす②作成したユーザーの”プロパティ”確認。
・”全般” タブ内で、”アカウントのロックアウト”にチェックが入っていないこと
・”全般” タブ内で、”ユーザーはパスワードを変更できない”にチェックが入っていること
・”全般” タブ内で、”パスワードを無期限にする” にチェックが入っていること

3.4. クライアント証明書と紐づく ルート証明書、中間証明書のインポート
日本 RA の管理する、ルート証明機関、中間証明機関の証明書のインポートをします。
証明書は下記の URL からダウンロードしてください。中間証明機関の証明書についてはご利用中の中間証明機関の証明書をインポートしてください。
※ご利用中の中間証明機関の確認方法については補足をご確認ください。

・中間証明機関(CA3)https://www.nrapki.jp/nrawp/cert/NipponRACertificationAuthority3.crt
・中間証明機関(CA4)https://www.nrapki.jp/nrawp/cert/NipponRACertificationAuthority4.crt
・ルート証明機関
https://www.nrapki.jp/nrawp/cert/NipponRARootCertificationAuthority.crt
インポート対象のファイルは、中間証明機関→ルート証明機関の順にインポートします。
・NipponRACertificationAuthority3.crt→ 中間証明機関(CA3)・NipponRACertificationAuthority4.crt→ 中間証明機関(CA4)・NipponRARootCertificationAuthority.crt→ ルート証明機関8【補足】下図の NRA-PKI システム管理画面にて、[利用者メンテナンス]をクリックしていただくと、適用されているサービス名が表示されます。サービス名の後に（CA4）という表記があれば CA4、なければ CA3 をご利用いただいております。

次ページから中間証明機関とルート証明機関の証明書をインポートする手順を記載します。

9

① mmc（管理コンソール）の起動。
画面左下の検索アイコン（または Windows キー）を押下し、“mmc” と入力して、検索結果に表示された mmc を選択します。

② “ファイル（F）”→”スナップインの追加と削除”を選択。

③ 左画面の下方にある証明書を選択し、”追加”ボタンをクリック。

10

④ 証明書スナップイン画面にて”コンピューター アカウント”を選択し、”次へ”ボタンをクリック。

⑤ コンピューターの選択画面にて”ローカルコンピュータ”が選択されていることを確認し”完了”をクリック。

⑥ 手順③の”スナップインの追加と削除”画面の右側に”証明書”が追加されたことを確認し”OK”をクリック。

11⑦ 証明書のインポートを実行。
ルート証明機関の場合

中間証明機関の場合⑧ 証明書のインポートウィザードの開始を確認し、”次へ”をクリック。

12⑨ インポートする証明書ファイルは”参照”をクリックし、手順 3.4 でダウンロードした証明機関のXXX.crt を選択。

⑩ 証明書ストアが”中間証明機関”または“信頼されたルート証明機関”であることを確認し”次へ”をクリック。
中間証明機関の場合

ルート証明機関の場合

13

⑪ “完了”をクリックして証明書インポートウィザードを完了。

⑫ 正しくインポートされたことを確認し”OK”をクリック。手順⑦～⑫までを繰り返します。

⑬ インポートされた証明機関の証明書を確認。

中間証明機関(画像は CA3)14

ルート証明機関3.5. サーバ証明書のインポート① インターネット インフォメーション サービス（IIS）マネージャを実行。
“スタート”→”管理ツール”→” インターネット インフォメーション サービス（IIS）マネージャ”を選択。
※以降、手順 3.10 まで、インターネット インフォメーション サービス（IIS）マネージャで設定します。
② Web サーバのホームを選択し、”サーバ証明書”をダブルクリック。

15

③ “インポート”をクリック。

④ サーバ証明書ファイルを選択し、パスワードを入力後 OK”をクリック。

＊ファイルの形式は「.p12」

16

3.6. サイトのバインド編集
バインド編集を実行し、手順 3.5 でインポートしたサーバ証明書を https のポートに設定します。
① “Default Web Site”を選択し、右クリックから”バインドの編集”を選択。

② サイトバインドから”追加”をクリック。

③ “種類”のリストから”https”を選択し、次に手順 3.5 でインポートしたサーバ証明書をリストから選択。”OK”をクリック。

17

④ https が追加されたことを確認し”閉じる”をクリック。

3.7. 認証の設定① 本手順対象の Web アプリケーションを選択し、/<アプリケーション> ホーム→”認証”をダブルクリック。

② “匿名認証“を選択し、”無効にする“をクリック。

18

3.8. IIS 多対 1 マッピング規則（ルール）の設定① 本手順対象の Web アプリケーションを選択し、Default Web Site ホーム→”構成エディター”をダブルクリック。

② セクションのリストから” iisClientCertificateMappingAuthentication”を選択。
system.webServer/security/authentication/iisClientCertificateMappingAuthentication を選択③ ”enabled” のプルダウンメニューから”True” を選択。

19

④ 多対 1 マッピング規則（ルール）を設定。
ManyToOneMappings のリストボタンをクリック。

⑤ コレクションエディターの “追加“をクリック。

⑥ “ManyToOneMappings”のプロパティを設定。（”rules“の設定は⑦以降で行います。
）(1)enabled→ “True”(2)name→ 任意で指定(3)password→ 手順 3.3 で作成した OS ユーザーのパスワードを設定(4)permissionMode→ “Allow”(5)userName→ 手順 3.3 で作成した OS ユーザーを設定

20

⑦ プロパティの“rules”を選択しリストボタンをクリック。

⑧ 新たに表示されたコレクションエディターの”追加“をクリックして、”Rules”（サブジェクト）のプロパティを設定(1)certificateField→ “Subject”(2)certificateSubField→ “O”(3)compareCaseSensitive→ “True”(4)matchCriteria→ クライアント証明書のサブジェクトを指定

21

⑨ 再度、“追加”をクリックして、”rules”（発行元）のプロパティを設定(1)certificateField→ “Issure”(2)certificateSubField→ “O”(3)compareCaseSensitive→ “True”(4)matchCriteria→ 発行元証明書のサブジェクトを指定※以下、(1)、(2)が AND で合致した場合、認証を許可するルールとなります。
(1)Subject：クライアント証明書のサブジェクト情報の”O”が、”matchCriteria”で指定された法人の英字表記であること(2)Issuer：発行元の”O”が、”matchCriteria”で指定された日本 RA の英字表記であること⑩ コレクションエディターをすべて閉じて、インターネット インフォメーション サービス（IIS）マネージャの”適用“をクリックして変更内容を保存

22

3.9. SSL 設定
クライアント証明書を必要とする SSL クライアント認証を実装する。
① 本手順対象の Web アプリケーションを選択し、/<アプリケーション> ホーム→”SSL 設定”をダブルクリック。

② SSL 設定
“SSL が必要”にチェックし、クライアント証明書の箇所で”必要”を選択。

③ Web サーバの IIS 再起動。
Web サーバ ホームを選択し、再起動をクリック。

23

3.10. クライアント証明書の情報参照（クライアント側）
Web アプリケーションの認証で使用するクライアント証明書がインポートされていることを前提に、証明書の内容を確認する手順を記載します。
（本手順の画面キャプチャは Windows10 環境で取得しております。
）① mmc の起動
Windows キーを押下し、検索 で“mmc” と入力し、”Enter”を押下します。
② スナップインの追加
ファイル→スナップインの追加と削除を選択。

③ 左画面の下方にある証明書を選択、”追加”をクリック。

24

④ 証明書スナップイン画面にて”ユーザアカウント”を選択し、”完了”をクリック。

⑤ 右画面（選択されたスナップイン）に”証明書 – 現在のユーザー”が表示されたことを確認し、”OK”をクリック。

⑥ ”コンソールルート”→”証明書 – 現在のユーザー”→”個人”→”証明書”を選択し、証明書が右画面に表示されることを確認。

25

⑦ 表示された証明書をダブルクリックしプロパティを表示させる。

⑧ 上部、“詳細”タブを選択し、２つのフィールドを確認します。
(1) 発行者“発行者“はクライアント証明書の証明機関を示します。
CN=証明機関（発行・認証局）※NRA では、Nippon RA Certification Authority 3
か Nippon RA Certification Authority 4が表示されます。
O=発行局を管理する日本 RA の英字表記
C=国(2) サブジェクト“サブジェクト“はクライアント証明書を配付されたユーザー
E= E メールアドレス
CN= 配布ユーザーの英字表記
OU=NRA-PKI システムのユーザーID
O=法人の英字表記
C=国26

⑨ 上部、“証明のパス”タブを選択し、証明書のパスを確認。

“証明書のパス“は NRA がクライアント証明書の認証機関を示します。
ルート認証機関（Nippon RA Root Certification
Authority）→ 中 間 証 明 機 関 （ Nippon RA Certification
Authority 3 か 4）
→クライアント証明書※クライアント証明書のインポート時に、証明機関の証明書をインポートしなかった場合、警告が表示され認証に使えない証明書となります。

27