Protección de servicios web con señales de validación
Se utilizan señales de validación para firmar la firma del mensaje SOAP. Normalmente se utiliza una señal de validación para firmar todo el elemento <Signature> y, opcionalmente, para firmar partes del mensaje adicionales. Si se utiliza la seguridad de transporte, se debe utilizar la señal de validación para firmar la indicación de la hora en la cabecera de seguridad SOAP.
Aserciones de señal de soporte de validación
- EndorsingSupportingTokens: no es necesario que se firme o se cifre la señal.
- sSignedEndorsingSupportingTokens: se debe firmar la señal.
- EndorsingEncryptedSupportingTokens: se debe cifrar la señal.
- SignedEndorsingEncryptedSupportingTokens: se debe firmar la señal.
X509Token como señal de validación
Puede configurar una X509Token como una señal de validación. Configurar una X509Token como una señal de validación es similar a configurar una X509Token como una InitiatorToken en un AssymmetricBinding. Para configurar X509Token como una señal de validación, necesita una política que tenga X509Token incluida dentro de una de las aserciones de señal de validación descritas previamente y un elemento <SignatureProperties> en el archivo server.xml.
<sp:EndorsingSupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<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:EndorsingSupportingTokens>
Después de configurar X509Token como una señal de validación, debe definir el elemento <signatureProperties> en el archivo server.xml para identificar el almacén de claves y la clave de firma. La configuración para el elemento <signatureProperties> es la misma que la configuración de X509Token para la firma del mensaje. Para obtener más información, consulte Protección de servicios web con una señal X.509.
UsernameToken como una señal de validación
La configuración de una UsernameToken como una endorsingToken es similar a la configuración de una UsernameToken con PasswordDigest, excepto que no hay HashPassword en la política. Para configurar una UsernameToken como una señal de validación, necesita una política que tenga una UsernameToken contenida en una de las aserciones descritas en la sección de aserciones de señal de soporte de validación.
<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>
En este fragmento de política, se firma y se cifra UsernameToken con el resto del mensaje. Luego la clave que se deriva de la contraseña de la UsernameToken se utiliza para firmar la firma de mensaje.
Dado que una señal de validación UsernameToken utiliza las claves derivadas, debe implementar y configurar un CallbackHandler de contraseña para una aplicación de proveedor. Para obtener más información, consulte Autenticación de clientes de servicios web con UsernameToken (señal de nombre de usuario).