Configuración de un conjunto de políticas y enlaces para cifrar una UsernameToken

Este ejemplo muestra cómo configurar el conjunto de políticas y enlaces de WS-Security para enviar una señal Username en una solicitud JAX-WS y cifrar la señal Username utilizando el cifrado asimétrico.

Antes de empezar

Efectúe una copia del conjunto de políticas predeterminado WSSecurity de nombre de usuario y otórguele un nombre exclusivo. Este ejemplo ilustra cómo modificar una copia del conjunto de políticas predeterminado. Para obtener más información, consulte cómo copiar los valores de los enlaces y del conjunto de políticas predeterminado.

Acerca de esta tarea

De forma predeterminada, el conjunto de políticas WSSecurity de nombre de usuario firma las cabeceras y el cuerpo de WS-Addressing en la solicitud y la respuesta y cifra el cuerpo y la firma en la solicitud y la respuesta. No obstante, en este ejemplo, el objetivo es cifrar únicamente la señal Username en la solicitud del cliente al servicio, pero sin cifrar ninguna parte de la respuesta del servicio al cliente. Además, no se firmará ninguna parte de la solicitud o la respuesta. Por consiguiente, el conjunto de políticas debe modificarse para eliminar varias partes de la protección de mensaje. También debe configurar los enlaces del cliente y del servidor.

En primer lugar, configure el conjunto de políticas modificando la copia del conjunto de políticas predeterminado WSSecurity de nombre de usuario.

Procedimiento

  1. En la consola administrativa, pulse Servicios > Conjuntos de políticas > Conjuntos de políticas de aplicación > nombre_conjunto_políticas. En el panel de los valores del conjunto de políticas, puede especificar información sobre el conjunto de políticas como, por ejemplo, la descripción.
  2. Elimine las partes de protección de mensajes siguientes: request:app_signparts, response:app_signparts y response:app_encparts.
    1. Pulse Conjuntos de políticas de aplicación > nombre_conjunto-políticas > WS-Security > Política principal > Protección de parte de mensaje de respuesta.
    2. Pulse app_encparts en el recuadro de partes cifradas y, a continuación, pulse el botón Suprimir.
    3. Pulse app_signparts en el recuadro de partes cifradas y, a continuación, pulse el botón Suprimir.
    4. Pulse Conjuntos de políticas de aplicación > nombre_conjunto_políticas > WS-Security > Política principal > Protección de parte de mensaje de solicitud.
    5. Pulse app_signparts en el recuadro de partes cifradas y, a continuación, pulse el botón Suprimir.
  3. Actualice la parte de protección especificada en request:app_encparts. De forma predeterminada, esta parte de protección de mensaje cifra los elementos de cuerpo y de firma y debe modificarse para cifrar la señal Username.
    1. Pulse Conjuntos de políticas de aplicación > nombre_conjunto_políticas > WS-Security > Política principal > Protección de parte de mensaje de petición > Parte cifrada - app_encparts > Editar.
    2. Suprima los elementos existentes en el panel de elemento en la parte y, a continuación, añada dos expresiones XPath para cifrar la señal Username.

      Expresión 1:

      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

      Expresión 2:

      /*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

Qué hacer a continuación

La segunda parte del proceso trata de configurar los enlaces del cliente y el servidor.
Avoid trouble Avoid trouble: Al trabajar con el enlace de cliente, tenga cuidado al elegir la señal de protección que desea editar. Los nombres de las señales están representados desde la perspectiva del protector. Por ejemplo, en un cliente, aunque la palabra destinatario se encuentre en su nombre, AsymmetricBindingRecipientEncryptionToken0 es un generador. La mejor manera de asegurarse de que está seleccionando la señal correcta es examinar la columna Utilización de la tabla de señales de protección. gotcha
  1. Configure el enlace del cliente, tal como se indica a continuación:
    1. Conecte la política a un recurso de servicio y cree un enlace nuevo para dicho recurso que incluya la política WSSecurity.
    2. Pulse WSSecurity en el enlace nuevo para que aparezca el panel de enlaces principal de WSSecurity. Por ejemplo, pulse Aplicaciones empresariales > WSSampleServiceSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security.
    3. Pulse Autenticación y protección.
    4. En Señales de protección, pulse AsymmetricBindingRecipientEncryptionToken0 (el generador de cifrado asimétrico).
    5. Pulse Aplicar.
    6. Pulse Manejador de retorno de llamada.
    7. Seleccione Personalizado en el menú de Keystore.
    8. Pulse Configuración de almacén de claves personalizado.
    9. Especifique la vía de acceso del almacén de claves. Por ejemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Seleccione JCEKS para el tipo.
    11. Escriba la contraseña en los campos Contraseña y Confirmar contraseña. Por ejemplo, storepass.
    12. Escriba un Nombre de clave. Por ejemplo, CN=Bob,O=IBM,C=US.
    13. Escriba un Alias de clave. Por ejemplo, bob.
    14. Pulse Aceptar.
    15. Pulse Aceptar otra vez.
    16. Pulse Aceptar una vez más para volver al panel Aplicaciones empresariales > WSSampleServicesSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security > Autenticación y protección.
    17. El estado de AsymmetricBindingRecipientEncryptionToken0 debe aparecer como Configurado.
  2. Modifique los valores de partes cifradas para el enlace del cliente, tal como se indica continuación:
    1. Pulse request:app_encparts en Protección de cifrado y firma de mensaje de solicitud.
    2. Escriba un Nombre. Por ejemplo, MyEncPart.
    3. Pulse Nuevo debajo de información de claves.
    4. Rellene un nombre. Por ejemplo, MyEncKeyInf.
    5. Pulse Aceptar.
    6. Seleccione MyEncKeyInfo (o el nombre que ha especificado para la parte cifrada) del recuadro Disponible y pulse Añadir. MyEncKeyInfo aparece en el recuadro Asignado.
    7. Pulse Aceptar para volver al panel Aplicaciones empresariales > WSSampleServicesSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security > Autenticación y protección.
    8. El estado de request:app_encparts debe aparecer como Configurado.
  3. Configure los valores de la señal Username en el enlace de cliente, tal como se indica a continuación:
    1. Pulse request:myUserNameToken en Señales de autenticación.
    2. Pulse Aplicar.
    3. Pulse Manejador de retorno de llamada.
    4. Especifique el nombre de usuario. Por ejemplo, LDAPSunuser6.
    5. Especifique la contraseña y confírmela.
    6. Pulse Aceptar.
    7. En Propiedades personalizadas, pulse Nuevo para añadir las propiedades para habilitar nonce y la indicación de fecha y hora.
    8. Especifique el nombre de propiedad com.ibm.wsspi.wssecurity.token.username.addNonce para habilitar nonce y el valor de la propiedad true.
    9. Especifique el nombre de propiedad com.ibm.wsspi.wssecurity.token.username.addTimestamp para habilitar la indicación de fecha y hora y el valor de la propiedad true.
    10. Pulse Aceptar otra vez.
    11. El estado de request:myUserNameToken debe aparecer ahora como Configurado.
    12. Pulse Guardar para guardar los enlaces del cliente.
  4. Configure el enlace del servidor, tal como se indica a continuación:
    1. Conecte la política a un recurso de servicio y cree un enlace nuevo para dicho recurso que incluya la política WSSecurity.
    2. Pulse WSSecurity en el enlace nuevo para que aparezca el panel de enlaces principal de WSSecurity. Por ejemplo, pulse Aplicaciones empresariales > WSSampleServiceSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security.
    3. Pulse Autenticación y protección.
    4. En Señales de protección, pulse AsymmetricBindingRecipientEncryptionToken0 (el consumidor de cifrado asimétrico).
    5. Pulse Aplicar.
    6. Pulse Manejador de retorno de llamada.
    7. Seleccione Personalizado en el menú de Keystore.
    8. Pulse Configuración de almacén de claves personalizado.
    9. Especifique la vía de acceso del almacén de claves. Por ejemplo: ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Seleccione JCEKS para el tipo.
    11. Escriba la contraseña en los campos Contraseña y Confirmar contraseña. Por ejemplo, storepass.
    12. Escriba un Nombre de clave. Por ejemplo, CN=Bob,O=IBM,C=US.
    13. Escriba un Alias de clave. Por ejemplo, bob.
    14. Especifique la contraseña para keypass en los campos Contraseña y Confirmar contraseña.
    15. Pulse Aceptar.
    16. Pulse Aceptar otra vez.
    17. Pulse Aceptar una vez más para volver al panel Aplicaciones empresariales > WSSampleServicesSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security > Autenticación y protección.
    18. El estado de AsymmetricBindingRecipientEncryptionToken0 debe aparecer como Configurado.
  5. Modifique los valores de partes cifradas para el enlace del servidor, tal como se indica continuación:
    1. Pulse request:app_encparts en Protección de cifrado y firma de mensaje de solicitud.
    2. Escriba un Nombre. Por ejemplo, MyEncPart.
    3. Pulse Nuevo debajo de información de claves.
    4. Rellene un nombre. Por ejemplo, MyEncKeyInf.
    5. Pulse Aceptar.
    6. Seleccione MyEncKeyInfo (o el nombre que ha especificado para la parte cifrada) del recuadro Disponible y pulse Añadir. MyEncKeyInfo aparece en el recuadro Asignado.
    7. Pulse Aceptar para volver al panel Aplicaciones empresariales > WSSampleServicesSei > Conjuntos de políticas y enlaces del cliente de servicio > nombre_enlace > WS-Security > Autenticación y protección.
    8. El estado de request:app_encparts debe aparecer como Configurado.
  6. Configure los valores de la señal Username en el enlace del servidor, tal como se indica a continuación:
    1. Pulse request:myUserNameToken en Señales de autenticación.
    2. Pulse Aplicar.
    3. Pulse Manejador de retorno de llamada.
    4. Pulse Aceptar.
    5. En Propiedades personalizadas, pulse Nuevo para añadir las propiedades para verificar nonce y la indicación de fecha y hora.
    6. Especifique el nombre de propiedad com.ibm.wsspi.wssecurity.token.username.verifyNonce para verificar nonce y el valor de propiedad true.
    7. Especifique el nombre de propiedad com.ibm.wsspi.wssecurity.token.username.verifyTimestamp para verificar la indicación de fecha y hora y el valor de propiedad true.
    8. Pulse Aceptar otra vez.
    9. El estado de request:myUserNameToken debe aparecer como Configurado.
    10. Pulse Guardar para guardar los enlaces del servidor.

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_configmsglvlpolicyset
File name: twbs_configmsglvlpolicyset.html