方法 : 信頼できるセッション内でメッセージをセキュリティで保護する
ここでは、信頼できるセッション内で交換されるメッセージに対して、メッセージ レベルのセキュリティを有効にするために必要な手順について説明します。このとき、信頼できるセッションがオプションでサポートされているシステム指定のバインディングを使用します。セキュリティで保護された信頼できるセッションを有効にするには、コードを使用して強制的に行うか、構成ファイルで宣言します。この手順では、クライアントとサービスの構成ファイルを使用して、セキュリティで保護された信頼できるセッションを有効にします。
この手順の主な部分は、次の 3 つの作業で構成されます。
- クライアントとサービスのメッセージ交換は信頼できるセッション内で行うことを指定します。
- 信頼できるセッション内でメッセージ レベルのセキュリティを要求します。
- サービスに対する認証時にクライアントが使用する必要があるクライアント資格情報を指定します。
最初の作業で重要なのは、エンドポイント構成要素に (この例の場合) "MessageSecurity" という名前のバインディング構成を参照する bindingConfiguration 属性が含まれていることです。<binding> 構成要素は、この名前を参照して、reliableSession 要素の enabled 属性を true に設定することで信頼できるセッションを有効にします。信頼できるセッション内で使用できる順序付き配信の保証は、ordered 属性を true に設定することによって要求できます。
この構成手順のベースであるソース例については、「WS Reliable Session」を参照してください。
2 番目の作業で必要な項目は、クライアントとサービスの<binding> 要素に含まれている <security> 要素の mode 属性を Message に設定することによって達成できます。
3 番目の作業で必要な項目は、クライアントとサービスの<security> 要素に含まれている <message> 要素の clientCredentialType 属性を Certificate に設定することによって達成できます。
メモ : |
---|
信頼できるセッションでメッセージ セキュリティを使用するときに、クライアントが認証されていないと、信頼できるメッセージ機能は最初の失敗で例外をスローするのではなく、タイムアウトが発生するまでクライアントの認証を試みます。 |
信頼できるセッションを使用するためにサービスを WSHttpBinding で構成するには
- この手順については、「方法 : 信頼されたセッション内のメッセージを変換する」を参照してください。
信頼できるセッションを使用するためにクライアントを WSHttpBinding で構成するには
- この手順については、「方法 : 信頼されたセッション内のメッセージを変換する」を参照してください。
構成でモードと ClientCredentialType を設定するには
構成ファイルの <bindings> 要素に、適切なバインディング要素を追加します。次の例では <wsHttpBinding> 要素を追加しています。
<binding> 要素を追加し、name 属性に適切な値を設定します。
<security> 要素を追加し、mode 属性に Message を設定します。
次の例では、mode を Message に設定し、<message> 要素の clientCredentialType 属性を Certificate に設定します。
<wsHttpBinding> <binding name="MessageSecurity"> <security mode="Message" /> <message clientCredentialType = " Certificate" /> </security> </binding> </wsHttpBinding >