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.
サンプルを設定、ビルド、実行するには
次のコマンド ASP.NET 使用して 4.0 をインストールします。
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Windows Communication Foundation サンプル のOne-Time セットアップ手順を実行していることを確認します。
インターネット インフォメーション サービス (IIS) サーバー証明書のインストール手順を実行していることを確認します。
ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一または複数のコンピューター間の構成でサンプルを実行するには、「Windows Communication Foundation Samplesの実行」の手順に従います。