次の方法で共有


インターネット インフォメーション サービス (IIS) サーバー証明書のインストール手順

インターネット インフォメーション サービス (IIS) と安全に通信するサンプルを実行するには、サーバー証明書を作成してインストールする必要があります。

ステップ 1. 証明書の作成

コンピューターの証明書を作成するには、管理者特権で Visual Studio の開発者コマンド プロンプトを開き、IIS とのセキュリティで保護された通信を使用する各サンプルに含まれている Setup.bat を実行します。 このバッチ ファイルを実行する前に、パスに Makecert.exe を含むフォルダーが含まれていることを確認します。 次のコマンドを使用して、Setup.batで証明書を作成します。

makecert -sr LocalMachine -ss My -n CN=ServiceModelSamples-HTTPS-Server -sky exchange -sk ServiceModelSamples-HTTPS-Key

手順 2. 証明書のインストール

作成した証明書をインストールするために必要な手順は、使用している IIS のバージョンによって異なります。

IIS 5.1 (Windows XP) と IIS 6.0 (Windows Server 2003) に IIS をインストールするには

  1. インターネット インフォメーション サービス マネージャー MMC スナップインを開きます。

  2. 既定の Web サイトを右クリックし、[ プロパティ] を選択します。

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

  4. [ サーバー証明書 ] ボタンをクリックします。 Web サーバー証明書ウィザードが起動します。

  5. ウィザードを完了させてください。 証明書を割り当てるオプションを選択します。 表示される証明書の一覧から ServiceModelSamples-HTTPS-Server 証明書を選択します。

    IIS 証明書ウィザード

  6. HTTPS アドレス https://localhost/servicemodelsamples/service.svcを使用して、ブラウザーでサービスへのアクセスをテストします。

SSL が以前に Httpcfg.exe を使用して構成されている場合

  1. Makecert.exe (または Setup.batを実行) を使用して、サーバー証明書を作成します。

  2. IIS マネージャーを実行し、前の手順に従って証明書をインストールします。

  3. 次のコード行をクライアント プログラムに追加します。

Von Bedeutung

このコードは、Makecert.exeによって作成された証明書などのテスト証明書にのみ必要です。 運用コードにはお勧めしません。

PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");

IIS 7.0 に IIS をインストールするには (Windows Vista および Windows Server 2008)

  1. [スタート] メニューの [実行] をクリックし、「inetmgr」と入力して、インターネット インフォメーション サービス (IIS) MMC スナップインを開きます。

  2. 既定の Web サイトを右クリックし、[バインドの編集]を選択します。..

  3. [サイト バインド] ダイアログ ボックスの [追加] ボタンをクリックします。

  4. [種類] ドロップダウン リストから [HTTPS] を選択します。

  5. [SSL 証明書] ドロップダウン リストから ServiceModelSamples-HTTPS-Server を選択し、[OK] をクリックします

  6. HTTPS アドレス https://localhost/servicemodelsamples/service.svcを使用して、ブラウザーでサービスへのアクセスをテストします。

インストールしたテスト証明書は信頼された証明書ではないため、この証明書でセキュリティ保護されたローカル Web アドレスを参照すると、追加のセキュリティ警告が表示されることがあります。

証明書の削除

  • 前に指示したようにインターネット インフォメーション サービス マネージャーを使用しますが、追加するのではなく、証明書またはバインドを削除します。

  • 次のコマンドを使用して、コンピューター証明書を削除します。

    httpcfg delete ssl -i 0.0.0.0:443