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

Las señales de validación son SupportingTokens en WS-Security y se pueden firmar y cifrar. Hay cuatro tipos de señales 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.

El ejemplo siguiente muestra un fragmento de política para una señal de soporte de validación X509:
<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.

En el ejemplo siguiente se muestra un fragmento de política para una señal de soporte de validación UsernameToken de firmada y cifrada. Se utiliza la derivación de claves:
<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).


Icono que indica el tipo de tema Tema de concepto

Nombre de archivo: cwlp_wssec_endorse_tokens.html