このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
クライアント証明書を設定する方法

クライアント証明書を設定する方法

 

公開日: 2004年9月7日 | 最終更新日: 2004年9月7日
トピック
目的 目的
適用対象 適用対象
モジュールの使用方法 モジュールの使用方法
要約 要約
単純な Web アプリケーションを作成する 単純な Web アプリケーションを作成する
アクセス時にクライアント証明書を必要とするように Web アプリケーションを構成する アクセス時にクライアント証明書を必要とするように Web アプリケーションを構成する
クライアント証明書を要求してインストールする クライアント証明書を要求してインストールする
クライアント証明書の動作を確認する クライアント証明書の動作を確認する
関連資料 関連資料

目的

このモジュールの目的は次のとおりです。

クライアント証明書を取得およびインストールする。

クライアント証明書を要求する ASP.NET Web アプリケーションを作成する。

適用対象

このモジュールは、次の製品およびテクノロジを対象としています。

Microsoft® Windows® XP または Windows 2000 Server (Service Pack 3) 以降のオペレーティング システム

Microsoft Internet Information Services (IIS) 5.0 以降

Microsoft 証明書サービス (独自の証明書を生成する必要がある場合)

Microsoft .NET Framework Version 1.0 (Service Pack 2) 以降

Microsoft Visual C#® .NET

モジュールの使用方法

このモジュールをよく理解するには、次の前提が必要です。

Visual C# .NET および Microsoft Visual Studio® .NET を使用した経験があること。

ASP.NET を使用して Web アプリケーションを開発した経験があること。

IIS を構成した経験があること。

新しいクライアント証明書を生成する場合は、Microsoft 証明書サービスなどの CA (証明機関) へのアクセス権を持っていること。

独自の証明書を生成しない場合は、クライアント証明書を要求する商用 CA を決定していること。このサービスは、CA によっては有料の場合があります。

SSL 証明書がインストールされた Web サーバーを用意していること。詳細については、「Web サーバー上で SSL を設定する方法」を参照してください。

クライアント証明書とその他の認証形式の比較について、「モジュール 2 ASP.NET アプリケーションのセキュリティ モデル」を読んでいること。

要約

クライアント証明書は、Web アプリケーション用の認証メカニズムとして優れています。ブラウザやその他のクライアント アプリケーションからのアプリケーション アクセスは、有効な証明書を提示することによって許可され、クライアントがユーザー名とパスワードを提供する必要はありません。このため、他のクライアント アプリケーションがアクセスする Web サービスを作成し、それをセキュリティ保護する場合は、クライアント側の証明書は特に便利です。

このモジュールでは、クライアント証明書を取得およびインストールする方法と、クライアント証明書を要求する Web アプリケーションを作成する方法について説明します。

単純な Web アプリケーションを作成する

ここでは、テスト用の単純な Web アプリケーションを作成します。

単純な Web アプリケーションを作成するには

1.

Visual Studio .NET を起動して、"SecureApp" という名前の新しい Visual C# ASP.NET Web アプリケーションを作成します。

2.

ツールボックスから、ラベル コントロールを 1 つ WebForm1.aspx Web フォームにドラッグし、コントロールの [ID] プロパティを message に設定します。

3.

ラベルをもう 1 つ WebForm1.aspx にドラッグし、コントロールの [ID] プロパティを certData に設定します。

4.

次のコードを Page_Load イベント プロシージャに追加します。

string username;
username = User.Identity.Name;
message.Text = "Welcome " + username;
HttpClientCertificate cert = Request.ClientCertificate;
if (cert.IsPresent)
{
  certData.Text = "クライアントの証明書が取得されました";
}
else
{
  certData.Text = "クライアント証明書がありません";
}

5.

[ビルド] メニューの [ソリューションのビルド] をクリックします。

6.

Internet Explorer を起動し、http://localhost/SecureApp/WebForm1.aspx に移動します。
このページには、"Welcome" のメッセージ (ユーザーがまだ認証されていないためユーザー名は表示さません) と "No client certificate" のメッセージが表示されます。

7.

Internet Explorer を閉じます。

アクセス時にクライアント証明書を必要とするように Web アプリケーションを構成する

ここでは、インターネット インフォメーション サービス (IIS) を使用して、アクセス時にクライアント証明書を必要とするように Web アプリケーションの仮想ディレクトリを構成します。

この手順では、Web サーバー上に有効な証明書が既にインストールされていることが前提となります。Web サーバー証明書のインストールの詳細については、「Web サーバー上で SSL を設定する方法」を参照してください。

アクセス時にクライアント証明書を必要とするように Web アプリケーションの仮想ディレクトリを構成するには

1.

Web サービス ホスト コンピュータ上で、IIS を起動します。

2.

SecureApp 仮想ディレクトリに移動します。

3.

[SecureApp] を右クリックし、[プロパティ] をクリックします。

4.

[ディレクトリ セキュリティ] タブをクリックします。

5.

[セキュリティ保護された通信] で [編集] をクリックします。

[編集] が表示されない場合は、Web サーバー証明書がインストールされていない可能性があります。

6.

[保護されたチャンネル (SSL) を要求する] チェック ボックスをオンにします。

7.

[クライアント証明書を要求する] オプションをクリックします。

8.

[OK] を 2 回クリックします。

9.

[継承/優先] ダイアログ ボックスで [すべて選択] をクリックします。次に、[OK] をクリックして [SecureApp のプロパティ] ダイアログ ボックスを閉じます。
これで、仮想ディレクトリのルート内にあるすべてのサブディレクトリに新しいセキュリティ設定が適用されます。

10.

Internet Explorer を起動し、https://localhost/secureapp/webform1.aspx に移動して (HTTPS を使用)、Web サイトが正しく構成されていることを確認します。

11.

クライアント証明書を選択するように促す [クライアント認証] ダイアログ ボックスが Internet Explorer 上に表示されます。ここでは、クライアント証明書をまだインストールしていないので、[OK] をクリックし、ページへのアクセスにクライアント証明書が必要であることを示すエラー ページが表示されることを確認してください。

12.

Internet Explorer を閉じます。

クライアント証明書を要求してインストールする

ここでは、クライアント証明書をインストールします。任意の証明機関から発行された証明書を使用することも、以下の節で説明するように、Microsoft 証明書サービスを使用して独自の証明書を生成することもできます。

ここでは、Microsoft 証明書サービスが保留中の要求に対応できるように構成されていることが前提となります。この場合、管理者が証明書を明示的に発行する必要があります。Microsoft 証明書サービスは、証明書要求に対して自動的に証明書を発行するように構成することもできます。

証明書要求の状態の設定をチェックするには

1.

Microsoft 証明書サービスを実行しているコンピュータで、[管理ツール] の [証明機関] をクリックします。

2.

[証明機関 (ローカル)] を展開し、証明機関を右クリックして [プロパティ] をクリックします。

3.

[ポリシー モジュール] タブをクリックし、[構成] をクリックします。

4.

既定の操作をチェックします。

次の手順では、[管理者が証明書を発行するまで、証明書の要求状態を保留にする] チェック ボックスがオンになっていることを前提としています。

クライアント証明書を要求するには

1.

Internet Explorer を起動し、http://hostname/certsrv に移動します。ここで、"hostname" は、Microsoft 証明書サービスがインストールされているコンピュータの名前です。

2.

[証明書を要求する] をクリックし、[次へ] をクリックします。

3.

[要求する種類の選択] ページで、[ユーザー証明書の要求] をクリックし、[次へ] をクリックします。

4.

[送信] をクリックして、要求を完了します。

5.

Internet Explorer を閉じます。

クライアント証明書を発行するには

1.

[管理ツール] プログラム グループから [証明機関] ツールを起動します。

2.

目的の証明機関を展開し、[保留中の要求] フォルダを選択します。

3.

前の手順で送信した証明書要求を選択し、[操作] メニューの [すべてのタスク] をポイントし、[発行] をクリックします。

4.

証明書が [発行した証明書] フォルダ内に表示されていることを確認し、証明書をダブルクリックして内容を表示します。

5.

[詳細設定] タブで、[ファイルにコピー] をクリックし、証明書を Base 64 エンコード X.509 証明書として保存します。

6.

証明書のプロパティ ウィンドウを閉じます。

7.

[証明機関] ツールを閉じます。

クライアント証明書をインストールするには

1.

Windows エクスプローラを起動し、前の手順で保存した .cer ファイルを探してダブルクリックし、証明書を表示します。

2.

[証明書のインストール] をクリックし、証明書のインポート ウィザードの最初のページで [次へ] をクリックします。

3.

[証明書の種類に基づいて、自動的に証明書ストアを選択する] をクリックし、[次へ] をクリックします。

4.

[完了] をクリックして、ウィザードを終了します。確認メッセージ ボックスを閉じ、[OK] をクリックして証明書を閉じます。

クライアント証明書の動作を確認する

ここでは、クライアント証明書を使用して SecureApp アプリケーションにアクセスできることを確認します。

クライアント証明書の動作を確認するには

1.

Internet Explorer を起動し、https://localhost/secureapp/webform1.aspx に移動します。

2.

Web ページが正しく表示されることを確認します。

関連資料

詳細については、このガイドの「Web サーバー上で SSL を設定する方法」を参照してください。


ページのトップへページのトップへ

表示:
© 2015 Microsoft