トランスポート セキュリティ付き BasicBinding
TransportSecurity のサンプルでは、基本的なバインディングを使用した SSL トランスポート セキュリティを示します。 このサンプルは、電卓サービスを実装する「入門サンプル」に基づいています。
サンプルの詳細
既定で、基本的なバインディングは HTTP 通信をサポートします。 このサンプルでは、基本的なバインディングのトランスポート セキュリティを有効にする方法を示します。 このサンプルを実行する前に、証明書を作成し、Web サーバー証明書ウィザードを使用してあらかじめ割り当てておく必要があります。
Note
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。
サンプル内のプログラム コードは、「入門サンプル」のサービスのものと同じです。 次に示すサンプル構成のように、構成ファイル設定でエンドポイントとバインディングを定義すると、通信のセキュリティ保護が有効になるように変更されます。
<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://localhost/servicemodelsamples/service.svc
のような HTTPS アドレスにアクセスしようとすると、セキュリティ警告が表示されます。 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.
サンプルをセットアップ、ビルド、および実行するには
次のコマンドを使用して ASP.NET 4.0 をインストールします。
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。
インターネット インフォメーション サービス (IIS) サーバー証明書インストール手順を実行していることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。
単一または複数コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。