进行 UsernameToken 认证,并且 X509Token 对于消息保护是对称的
会将具有明文密码的 UsernameToken 用于认证。会使用 X509Token 对称消息保护对请求中的 UsernameToken 以及请求和响应中的 SOAP 主体进行签名和加密。还有消息时间戳记。
对于 X509Token 对称保护,会创建临时密钥以对消息进行签名和加密。会使用接收方的公用证书对临时密钥进行加密。
在此示例中,令牌引用正在使用 RequireThumbprintReference。可以更改策略以使用 RequireIssuerSerialReference 或 RequireKeyIdentifierReference。您还可以修改此策略以使用从临时密钥派生的密钥,通过添加 <sp:RequireDerivedKeys /> 断言来保护消息交换的安全。
如果客户机只能使用 UsernameToken 来认证它自身,并且必须对消息交换进行签名和加密,那么最好是使用此策略模板。
以下策略显示了 UsernameToken 认证,并且 X509Token 对于消息保护是对称的:
<wsp:Policy wsu:Id="X509SymmetricForMessageAndUntForClient">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedEncryptedSupportingTokens
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10 />
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SignedEncryptedSupportingTokens>
<sp:SymmetricBinding>
<wsp:Policy>
<sp:ProtectionToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
<wsp:Policy>
<sp:RequireThumbprintReference />
<sp:WssX509V3Token10 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:ProtectionToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic128 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict />
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
<sp:OnlySignEntireHeadersAndBody />
<sp:EncryptSignature />
</wsp:Policy>
</sp:SymmetricBinding>
<sp:Wss11>
<wsp:Policy>
<sp:MustSupportRefKeyIdentifier />
<sp:MustSupportRefIssuerSerial />
<sp:MustSupportRefThumbprint />
<sp:MustSupportRefEncryptedKey />
<sp:RequireSignatureConfirmation />
</wsp:Policy>
</sp:Wss11>
<sp:SignedParts>
<sp:Body />
</sp:SignedParts>
<sp:EncryptedParts>
<sp:Body />
</sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
此示例中使用的名称空间为:
- xmlns:wsp="http://www.w3.org/ns/ws-policy"
- xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
- xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"