<wsHttpBinding> の <message>
<wsHttpBinding> 要素のメッセージレベルのセキュリティ設定を定義します。
configuration
system.serviceModel
<bindings>
<wsHttpBinding>
<binding>
<security>
<message>
構文
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
establishSecurityContext="Boolean"
negotiateServiceCredential="Boolean" />
種類
NonDualMessageSecurityOverHttp
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
algorithmSuite | メッセージの暗号化とキー ラップ アルゴリズムを設定します。 アルゴリズムとキー サイズは、SecurityAlgorithmSuite クラスにより決まります。 これらのアルゴリズムは、セキュリティ ポリシー言語 (WS-SecurityPolicy) 仕様で指定されたアルゴリズムにマップされます。 既定値は Basic256 です。 |
clientCredentialType | 任意。 セキュリティ モード Message または TransportWithMessageCredentials を使用してクライアント認証を実行するときに使用される資格情報の種類を指定します。 次の列挙値を参照してください。 既定では、 Windows です。この属性は MessageCredentialType 型です。 |
establishSecurityContext | セキュリティで保護されたセッションをセキュリティ チャネルが確立するかどうかを示すブール値。 キュリティで保護されたセッションは、セキュリティ コンテキスト トークン (SCT) を確立してからアプリケーション メッセージを交換します。 SCT が確立されると、セキュリティ チャネルは上位のチャネルに ISession インターフェイスを提供します。 セキュリティで保護されたセッションの詳細については、「方法 : セキュリティで保護されたセッションを作成する」を参照してください。 既定値は true です。 |
negotiateServiceCredential | 任意。 サービス資格情報がクライアントの帯域外で提供されるか、ネゴシエーションのプロセスによってサービスからクライアントに取得されるかを指定するブール値。 そのようなネゴシエーションは、通常のメッセージ交換の準備です。clientCredentialType 属性が None、Username、または Certificate の場合、この属性を false に設定すると、クライアントの帯域外でサービス証明書が使用可能になり、クライアントは <serviceCredentials> のサービス動作でサービス証明書 (<serviceCertificate> を使用) を指定する必要があります。 このモードは、WS-Trust および WS-SecureConversation が実装された SOAP スタックと同時使用できます。ClientCredentialType 属性が Windows に設定されている場合、この属性を false に設定すると Kerberos ベースの認証が指定されます。 これは、クライアントおよびサービスが同じ Kerberos ドメインの一部でなければならないことを意味します。 このモードは、Kerberos トークン プロファイル (OASIS WSS TC で定義) に加えて WS-Trust および WS-SecureConversation が実装された SOAP スタックと同時使用できます。この属性が true の場合、SOAP メッセージを介して SPNego 交換をトンネル化する .NET SOAP ネゴシエーションが行われます。既定では、 true です。 |
algorithmSuite 属性
[値] | 説明 |
---|---|
Basic128 | Basic128 暗号化を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic192 | Basic192 暗号化を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic256 | Basic256 暗号化を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic256Rsa15 | メッセージの暗号化には Basic256 を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa15 を使用します。 |
Basic192Rsa15 | メッセージの暗号化には Basic192 を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa15 を使用します。 |
TripleDes | TripleDes 暗号化を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic128Rsa15 | メッセージの暗号化には Basic128 を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa15 を使用します。 |
TripleDesRsa15 | TripleDes 暗号化を使用し、メッセージ ダイジェストには Sha1 を、キー ラップには Rsa15 を使用します。 |
Basic128Sha256 | メッセージの暗号化には Basic256 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic192Sha256 | メッセージの暗号化には Basic192 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic256Sha256 | メッセージの暗号化には Basic256 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
TripleDesSha256 | メッセージの暗号化には TripleDes を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa-oaep-mgf1p を使用します。 |
Basic128Sha256Rsa15 | メッセージの暗号化には Basic128 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa15 を使用します。 |
Basic192Sha256Rsa15 | メッセージの暗号化には Basic192 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa15 を使用します。 |
Basic256Sha256Rsa15 | メッセージの暗号化には Basic256 を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa15 を使用します。 |
TripleDesSha256Rsa15 | メッセージの暗号化には TripleDes を使用し、メッセージ ダイジェストには Sha256 を、キー ラップには Rsa15 を使用します。 |
clientCredentialType 属性
[値] | 説明 |
---|---|
なし | サービスが匿名クライアントと対話できるようになります。 サービス側では、サービスがクライアントの資格情報を必要としないことを示しています。 クライアント側では、クライアントがクライアントの資格情報を提示しないことを示しています。 |
証明書 | 証明書を使用したクライアントの認証を、サービスで要求することが可能になります。 メッセージのセキュリティ モードが使用されており、negotiateServiceCredential 属性が false に設定されている場合、クライアントをサービス証明書で準備する必要があります。 |
IssuedToken | カスタム トークン (通常はセキュリティ トークン サービスにより発行される) を指定します。 |
UserName | サービスが、UserName 資格情報を使用したクライアントの認証を要求できるようにします。 WCF では、パスワード ダイジェストの送信や、パスワードを使用したキーの派生およびこうしたキーの使用がサポートされません。これはメッセージのセキュリティを確保するためです。 そのため、WCF では UserName 資格情報を使用する場合は、トランスポートが強制的にセキュリティで保護されます。 この資格情報モードは、negotiateServiceCredential 属性に基づいて、同時実行可能な交換か、同時実行できないネゴシエーションのいずれかになります。 |
Windows | SOAP 交換を、Windows 資格情報の認証されたコンテキストで行うことが可能になります。 negotiateServiceCredential 属性が true に設定されている場合、SSPI ネゴシエーションと Kerberos (同時使用可能な標準) のいずれかが実行されます。 |
子要素
なし
親要素
要素 | 説明 |
---|---|
<security> | <wsHttpBinding> のセキュリティ設定を定義します。 |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET