Verificación de la información de firmas para el enlace de consumidor utilizando las API de WSS

Puede configurar la información de firmas para los enlaces de consumidor (receptor) de respuestas del lado del cliente. La información de firmas se utiliza para firmar y validar partes de un mensaje que incluyen el cuerpo SOAP, la información de indicación de fecha y hora y la señal Username (nombre de usuario).

Antes de empezar

WebSphere Application Server utiliza la firma digital XML con los algoritmos existentes como, por ejemplo, RSA, HMAC y SHA1. La firma XML define muchos métodos para describir información clave y permite la definición de un nuevo método. Antes de completar estos pasos, lea la información sobre la firma digital XML para familiarizarse con firmar y con verificar firmas digitales para el contenido digital.

AL incluir la firma XML en los mensajes SOAP, se consiguen las siguientes ventajas: la integridad y la autenticación del mensaje. El término integridad hace referencia a la firma digital, mientras que la confidencialidad hace referencia al cifrado. La integridad disminuye el riesgo de que se modifiquen los datos mientras estos se trasmiten por Internet.

Antes de poder verificar la firma y las partes firmadas del mensaje SOAP, debe haber completado las tareas siguientes:

  • Haber configurado la firma.
  • Haber añadido partes firmadas, según sea necesario.
  • Haber elegido la firma y firmado los métodos de partes.

Acerca de esta tarea

Utilice las API de WSS (seguridad de servicios web) para configurar la información de verificación de firmas para la sección del consumidor de respuestas (lado del cliente) del archivo de enlaces. Utilice las API WSSVerification o WSSVerifyPart para configurar el cliente para la verificación de firmas de solicitudes y para especificar qué partes del mensaje firmadas digitalmente se deben verificar.

WebSphere Application Server utiliza la información de firmas en el lado del consumidor para verificar la integridad del mensaje SOAP recibido mediante la validación de las partes del mensaje que está firmadas (como, por ejemplo, el cuerpo, la indicación de fecha y hora y la señal Username).

En el lado del cliente, utilice las API WSS, o configure los conjuntos de políticas utilizando la consola administrativa para especificar qué partes del mensaje se firman y para configurar la información de claves a la que recurren las referencias de información de claves. Para verificar la firma y las partes firmadas, utilice las API WSSVerification y WSSVerifyPart.

WebSphere Application Server proporciona valores predeterminados para los enlaces. Sin embargo, un administrador debe modificar los valores predeterminados para un entorno de producción.

Las API WSSVerification y WSSVerifyPart completan los pasos siguientes para especificar qué partes del mensaje firmadas digitalmente se deben verificar al configurar el cliente para la firma del consumidor de solicitudes:

Procedimiento

  1. La API WSSVerification añade las partes de verificación necesarias del mensaje SOAP.

    La referencia de partes se refiere a la parte del mensaje que está firmada digitalmente. El atributo part hace referencia al nombre del elemento <Integrity>, si se especifica el elemento <PartReference> para la firma. Puede especificar varios elementos <PartReference> dentro del elemento <SigningInfo>. El elemento <PartReference> tiene dos elementos hijo, cuando se especifica para la firma: <DigestTransform> y <Transform>.

    La API WSSVerification configura las partes siguientes como partes de verificación:

    Parte de verificación Descripción
    Señal de seguridad Añade información para la señal de seguridad que se utiliza para la verificación de la firma.
    Cabecera SOAP y el QName como destino Añade la cabecera SOAP, especificada por QName, como una parte de verificación.
    La API de WSS permite el uso de palabras clave o una expresión XPath para especificar qué partes del mensajes se van a verificar. WebSphere Application Server soporta el uso de las siguientes palabras clave:
    Palabra clave Referencias
    WSSVerification.ADDRESSING_HEADERS Las cabeceras de direccionamiento de servicios web (WS-Addressing).
    WSSVerification.BODY El cuerpo del mensaje SOAP. El cuerpo es la parte de los datos del usuario del mensaje.
    WSSVerification.TIMESTAMP La información de indicación de fecha y hora de creación y de caducidad.
  2. La API WSSVerification añade la cabecera necesaria al mensaje SOAP. La cabecera, especificada por QName, es una cabecera de verificación necesaria.
  3. La API WSSVerification añade una señal de seguridad. Añade información sobre el símbolo de seguridad que se va a utilizar para la verificación de la firma como, por ejemplo:
    • La clase de la señal de seguridad.
    • El manejador de retorno de llamada.
    • El nombre de la configuración del inicio de sesión de JAAS.
  4. La API WSSVerification añade el algoritmo del método de firma. El método de firma es el algoritmo utilizado para convertir el elemento <SignedInfo> canonicalizado del archivo de enlaces en el elemento <SignatureValue>. El algoritmo que se especifica para el consumidor, que es la configuración del consumidor de respuestas, debe coincidir con el algoritmo especificado para la configuración del generador de solicitudes. WebSphere Application Server da soporte a los algoritmos de firmas preconfigurados siguientes:

    WebSphere Application Server no soporta el algoritmo siguiente para DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1. No puede utilizar el algoritmo DSA-SHA1, si desea que sea compatible con BSP (Basic Security Profile).

  5. La API WSSVerification añade un método de canonicalización. El algoritmo del método de canonicalización se utiliza para canonicalizar el elemento <SignedInfo> antes de incorporarlo como parte de la operación de firma digital. El algoritmo de canonicalización especificado para el generador debe coincidir con el algoritmo del consumidor.

    WebSphere Application Server da soporte a los algoritmos de canonicalización preconfigurados siguientes:

  6. La API WSSVerification verifica si es necesaria una confirmación de firma. La especificación OASIS Web Services Security (WS-Security) Versión 1.1 define el uso de la confirmación de firma. Si utiliza WS-Security Versión 1.0, esta función no está disponible.

    El valor de la confirmación de firma se almacena con objeto de validar la confirmación de firma con él, después de devolver el mensaje recibido. Se llama a este método, si se espera que el mensaje de respuesta esté conectado a una confirmación de firma en el mensaje SOAP.

  7. La API WSSVerifyPart añade un método de conversión. Para cada referencia de partes en la información de firmas, la API especifica un algoritmo de método de conversión y un algoritmo de transformación.

    WebSphere Application Server da soporte a los siguientes algoritmos de conversión preconfigurados.

    • WSSVerifyPart.SHA1: http://www.w3.org/2000/09/xmldsig#sha1
    • WSSVerifyPart.SHA256: http://www.w3.org/2001/04/xmlenc#sha256
    • WSSVerifyPart.SHA512: http://www.w3.org/2001/04/xmlenc#sha512
  8. La API WSSVerifyPart añade un método de transformación. Para cada referencia de partes en la información de firmas, la API especifica un algoritmo de método de conversión y un algoritmo de transformación.

    WebSphere Application Server da soporte a los siguientes algoritmos de transformación preconfigurados:

    • WSSVerifyPart.TRANSFORM_EXC_C14N (el valor predeterminado): http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSVerifyPart.TRANSFORM_XPATH2_FILTER: http://www.w3.org/2002/06/xmldsig-filter2
    • WSSVerifyPart.TRANSFORM_STRT10: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
    • WSSVerifyPart.TRANSFORM_ENVELOPED_SIGNATURE: http://www.w3.org/2000/09/xmldsig#enveloped-signature

    Para las API de WSS, WebSphere Application Server no soporta estos algoritmos:

    • http://www.w3.org/2002/07/decrypt#XML
    • http://www.w3.org/TR/1999/REC-xpath-19991116

    El algoritmo de transformación para el consumidor debe coincidir con el algoritmo de transformación para el generador.

Resultados

Ha completado los pasos para configurar la información de firmas para las secciones del consumidor de respuestas del lado del cliente de los archivos de enlaces.

Ejemplo

En el siguiente ejemplo, se muestra un código de ejemplo de la API de WSS para verificar la firma y verificar el tipo de señal X.509 como la señal de seguridad:

WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// Generate the X.509 Callback Handler on the consumer side
    X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler(); 
    WSSVerification ver = factory.newWSSVerification(X509Token.class, 
        callbackhandler);
concont.add(ver);

Qué hacer a continuación

Si todavía no se ha realizado la configuración, especifique una configuración de información de firmas similar para los enlaces de generador.

A continuación, si ya se ha configurado, configure la información de cifrado y descifrado, o bien configure las señales del consumidor y del generador.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configsigninfoconjaxws
File name: twbs_configsigninfoconjaxws.html