UsernameToken como una EndorsingToken y una X509Token simétrica para la protección de mensaje
Con protección simétrica X509Token, se crea una clave efímera para firmar y cifrar el mensaje. La clave efímera se cifra utilizando el certificado público del receptor. Se utiliza una UsernameToken con claves derivadas para la autenticación. La firma del mensaje se realiza mediante la clave derivada de la UsernameToken. Hay también una indicación de fecha y hora del mensaje.
Esta plantilla de política se puede utilizar si no se admite el transporte HTTP, el servicio tiene una señal X509 y admite una UsernameToken, y el servicio requiere que el cliente valide el mensaje.
La política siguiente muestra una UsernameToken como una EndorsingToken
y una X509Token simétrica para la protección de mensaje:
<wsp:Policy wsu:Id="UsernameTokenAsEndorsingAndX509Symmetric">
<wsp:ExactlyOne>
<wsp:All>
<sp:SymmetricBinding>
<wsp:Policy>
<sp:ProtectionToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509V3Token10 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:ProtectionToken>
<sp:Layout>
<wsp:Policy>
<sp:Lax />
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
<sp:OnlySignEntireHeadersAndBody />
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic128 />
</wsp:Policy>
</sp:AlgorithmSuite>
</wsp:Policy>
</sp:SymmetricBinding>
<sp:SignedEndorsingEncryptedSupportingTokens>
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10 />
<sp:RequireDerivedKeys />
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SignedEndorsingEncryptedSupportingTokens>
<sp:SignedParts>
<sp:Body />
</sp:SignedParts>
<sp:EncryptedParts>
<sp:Body />
</sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Los espacios de nombres utilizados en este ejemplo son:
- 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"