<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 强制要求在使用用户名凭据时确保传输的安全性。 这种凭据模式将产生可互操作的交换或不可互操作的协商,具体取决于 negotiateServiceCredential 属性。 |
Windows | 允许 SOAP 交换在已通过身份验证的 Windows 凭据上下文中执行。 如果 negotiateServiceCredential 属性设置为 true ,则将执行 SSPI 协商或 Kerberos(一种可互操作的标准)。 |
子元素
无
父元素
元素 | 说明 |
---|---|
<security> | 定义 <wsHttpBinding> 的安全设置。 |