次の方法で共有


トランスポート セキュリティを使用した BasicBinding

TransportSecurity サンプルは、基本的なバインディングでの SSL トランスポート セキュリティの使用を示しています。 このサンプルは、電卓サービスを実装する 作業の開始 に基づいています。

サンプルの詳細

既定では、基本バインディングは HTTP 通信をサポートします。 このサンプルでは、基本バインディングのトランスポート セキュリティを有効にする方法を示します。 サンプルを実行する前に、Web サーバー証明書ウィザードを使用して証明書を作成し、それを割り当てる必要があります。

このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。

サンプルのプログラム コードは、 作業の開始 サービスと同じです。 次のサンプル構成に示すように、構成ファイル設定のエンドポイント定義とバインド定義は、セキュリティで保護された通信を有効にするように変更されます。

<system.serviceModel>
  <services>
    <service type="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <endpoint address=""
                binding="basicHttpBinding"
                bindingConfiguration="Binding1"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
   </services>
  <bindings>
    <basicHttpBinding>
      <!-- Configure basicHttpBinding with Transport security -->
      <!-- mode and clientCredentialType set to None. -->
      <binding name="Binding1">
        <security mode="Transport">
          <transport clientCredentialType="None"/>
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
</system.serviceModel>

このサンプルで使用する証明書は、Makecert.exeで作成されたテスト証明書であるため、ブラウザーで HTTPS: アドレス ( https://localhost/servicemodelsamples/service.svc など) にアクセスしようとすると、セキュリティ アラートが表示されます。 Windows Communication Foundation (WCF) クライアントがテスト証明書を操作できるようにするために、セキュリティ アラートを抑制するために、いくつかの追加コードがクライアントに追加されます。 実際の証明書を使用する場合、このコードと付随するクラスは必要ありません。

// This code is required only for test certificates such as those
// created by Makecert.exe.
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");

サンプルを実行すると、操作要求と応答がクライアント コンソール ウィンドウに表示されます。 クライアント ウィンドウで Enter キーを押して、クライアントをシャットダウンします。

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

サンプルを設定、ビルド、実行するには

  1. 次のコマンド ASP.NET 使用して 4.0 をインストールします。

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Windows Communication Foundation サンプル One-Time セットアップ手順を実行していることを確認します。

  3. インターネット インフォメーション サービス (IIS) サーバー証明書のインストール手順を実行していることを確認します。

  4. ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。

  5. 単一または複数のコンピューター間の構成でサンプルを実行するには、「Windows Communication Foundation Samplesの実行」の手順に従います。