WS トランスポート セキュリティ
このサンプルでは、WSHttpBinding バインディングを使用した SSL トランスポート セキュリティを示します。既定で、wsHttpBinding バインディングは HTTP 通信を実現します。トランスポート セキュリティ用に構成すると、バインディングは HTTPS 通信をサポートします。このサンプルは、電卓サービスを実装する「入門サンプル」に基づいています。wsHttpBinding は、クライアントとサービスのアプリケーション構成ファイルに指定され、構成されます。
メモ : |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
サンプル内のプログラム コードは、「入門サンプル」サービスのプログラム コードと同じです。このサンプルをビルドして実行する前に、証明書を作成し、Web サーバー証明書ウィザードを使用してあらかじめ割り当てておく必要があります。次に示すクライアント用構成の例のように、構成ファイル設定でエンドポイントとバインディングを定義すると、Transport セキュリティ モードが有効になります。
<system.serviceModel>
<client>
<endpoint name=""
address="https://localhost/servicemodelsamples/service.svc"
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="ICalculator" />
</client>
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
アドレス指定では https:// スキームを使用しています。このバインディング構成により、セキュリティ モードが Transport に設定されます。同じセキュリティ モードが、サービスの Web.config ファイルで指定される必要があります。
このサンプルで使用する証明書は Makecert.exe で作成されたテスト証明書なので、ブラウザで https://localhost/servicemodelsamples/service.svc のような https: アドレスにアクセスしようとするとセキュリティ警告が表示されます。Windows Communication Foundation (WCF) クライアントがテスト証明書に対して問題なく動作するようにするには、クライアントにコードを追加して、セキュリティ警告を非表示にする必要があります。そのためのコードとそれに必要なクラスは、本運用の証明書を使用するときには不要です。
// This code is required only for test certificates like 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.
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。
「インターネット インフォメーション サービス (IIS) サーバー証明書インストール手順」が実行済みであることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一コンピュータ構成か複数コンピュータ構成かに応じて、「Windows Communication Foundation サンプルの実行」の手順に従います。
Copyright © 2007 by Microsoft Corporation.All rights reserved.