Configuración de un conjunto de políticas y enlaces para el cifrado de certificado de firmante

Este procedimiento describe cómo configurar un consumidor/proveedor JAX-WS para el cifrado de certificado de firmante. El cifrado de certificado de firmante significa que el certificado público de cliente que se utiliza para verificar la firma digital del mensaje de solicitud de entrada se utiliza para cifrar la respuesta de salida.

Antes de empezar

En esta tarea se presupone que el proveedor de servicios y el cliente que está configurando están en la aplicación JaxWSServicesSamples. Consulte el tema Acceso a los ejemplos para obtener más información sobre cómo obtener e instalar esta aplicación.

Utilice la especificación de rastreo siguiente en el servidor. Estas especificaciones le permiten depurar cualquier futuro problema de configuración que pueda producirse.
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all:  com.ibm.ws.wssecurity.*=all:
    com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all:
    com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:
    com.ibm.ws.webservices.multiprotocol.AgnosticService=all:
    com.ibm.ws.websvcs.utils.SecurityContextMigrator=all 

Acerca de esta tarea

Como se está utilizando el cifrado de certificado de firmante, sólo se utilizará el almacén de claves de firma digital del cliente en este procedimiento. El servicio obtendrá el certificado público utilizado para la verificación de firmas de la solicitud de entrada y lo utilizará para cifrar la respuesta. Para ello, en el lado del proveedor, se utiliza la propiedad personalizada com.ibm.wsspi.wssecurity.token.cert.useRequestorCert=true en el generador de cifrado del proveedor.

El almacén de claves que se utiliza en este procedimiento se proporciona con WebSphere Application Server y se instala en cada perfil que se crea. Puede utilizar la variable ${USER_INSTALL_ROOT}directamente en la configuración para apuntar cómodamente a la ubicación del almacén de claves sin utilizar una vía de acceso completa. ${USER_INSTALL_ROOT} se resuelve en una vía de acceso como c:/WebSphere/AppServer/profiles/AppSrv01.
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
Debido a la naturaleza de JaxWSServicesSamples, para aplicar el conjunto de políticas y los enlaces a esta aplicación, en la consola administrativa, pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples. Cuando utilice sus propias aplicaciones, puede utilizar las siguientes vías como alternativa para acceder al proveedor y al cliente y asociar el conjunto de políticas y enlaces:
  • Servicios > Proveedores de servicios > (AppName)
  • Servicios > Clientes de servicio > (AppName)
Este procedimiento hará lo siguiente para simplificar la tarea:
  • Sólo se configurarán la firma digital de salida y el cifrado de entrada.
  • Los enlaces generales se utilizarán para el cliente y el proveedor.
Avoid trouble Avoid trouble:

Una vez completada la tarea, si tiene que volver atrás y editar los enlaces generales que ha creado, deberá reiniciar el servidor de aplicaciones después de guardar las actualizaciones. Aunque puede crear un enlace general y utilizarlo inmediatamente sin reiniciar el servidor de aplicaciones, una vez una aplicación cargue un enlace general, los cambios en el enlace no se reconocerán hasta que se reinicie el servidor.

gotcha

Procedimiento

  1. Cree el conjunto de políticas personalizado.
    1. En la consola administrativa, pulse Servicios > Conjuntos de políticas > Conjuntos de políticas de servicios.
    2. Pulse Nuevo.
    3. Especifique name=OutSignInEncPolicy.
    4. En Políticas, pulse Añadir > WS-Security.
  2. Edite el conjunto de políticas personalizado para eliminar el cifrado de salida y la firma de entrada.
    1. En la consola administrativa, pulse WS-Security > Política principal.
    2. En Protección de nivel de mensaje, pulse Protección de parte de mensaje de solicitud.
    3. Pulse app_encparts.
    4. Pulse Suprimir.
    5. Pulse Hecho.
    6. Pulse Protección de parte de mensaje de respuesta.
    7. Pulse app_sigparts.
    8. Pulse Suprimir.
    9. Pulse Hecho.
  3. Pulse Guardar para guardar los cambios de configuración.
  4. Cree el enlace general de proveedor.
    1. En la consola administrativa, pulse Servicios > Conjuntos de políticas > Enlaces de conjunto de políticas del proveedor general.
    2. Seleccione Ejemplo de proveedor.
    3. Pulse Copiar....
    4. Especifique name=ProviderSignerCertGeneralBinding.
    5. Pulse Aceptar.
  5. Edite ProviderSignerCertGeneralBinding para realizar el cifrado certificado de firmante.
    1. Pulse ProviderSignerCertGeneralBinding > WS-Security > Autenticación y protección > gen_encx509token > Manejador de devolución de llamada.
    2. En Propiedades personalizadas, especifique:
      Name=com.ibm.wsspi.wssecurity.token.cert.useRequestorCert
      value=true
    3. En Almacén de claves, seleccione Name=None.
    4. Pulse Aceptar.
  6. Cree el enlace general de cliente.
    1. En la consola administrativa, pulse Servicios > Conjuntos de políticas > Enlaces de conjunto de políticas del cliente general.
    2. Seleccione Ejemplos de cliente.
    3. Pulse Copiar....
    4. Especifique name=ClientSignerCertGeneralBinding.
    5. Pulse Aceptar.
  7. Edite ClientSignerCertGeneralBinding para utilizar su propia clave de firma para descifrar el mensaje.
    1. Pulse ClientSignerCertGeneralBinding > WS-Security > Autenticación y protección > con_encx509token > Manejador de devolución de llamada > Configuración de almacén de claves personalizado.
    2. En Almacén de claves, especifique el mismo almacén de claves que se utiliza en el generador de firmas:
      Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
      Type=JKS
      Password=client
    3. En Clave, especifique la misma clave que utiliza el generador de firmas:
      Name=CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP
      Alias=soaprequester
      Password=client
    4. Pulse Aceptar.
  8. Configure el cliente para utilizar el conjunto de políticas OutSignInEncPolicy y el enlace general ClientSignerCertGeneralBinding.
    1. En la consola administrativa, pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio.
    2. Seleccione el recurso de cliente de servicios web (JaxWSServicesSamples).
    3. Pulse Conectar conjunto de políticas.
    4. Seleccione OutSignInEncPolicy.
    5. Vuelva a seleccionar el recurso de cliente de servicios web (JaxWSServicesSamples).
    6. Pulse Asignar enlace.
    7. Seleccione ClientSignerCertGeneralBinding.
  9. Configure el proveedor para utilizar el conjunto de políticas SimpleSignEncPolicy y el enlace general ProviderSignerCertGeneralBinding.
    1. En la consola administrativa, pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces de proveedor de servicio.
    2. Seleccione el recurso de proveedor de servicios web (JaxWSServicesSamples).
    3. Pulse Conectar conjunto de políticas.
    4. Seleccione OutSignInEncPolicy.
    5. Seleccione de nuevo el recurso de proveedor de servicios web (JaxWSServicesSamples).
    6. Pulse Asignar enlace.
    7. Seleccione PrioviderSignerCertGeneralBinding.
  10. Pulse Guardar para guardar los cambios de configuración.
  11. Reinicie el cliente y el proveedor.
    1. Detenga el cliente y el proveedor.
    2. Reinicie el cliente y el proveedor.
  12. Pruebe el servicio.
    1. Apunte el navegador web a JaxWSServicesSamples: http://localhost:9080/wssamplesei/demo.
      Avoid trouble Avoid trouble: Asegúrese de proporcionar el nombre de host y el puerto correctos si el proveedor no está en la misma máquina, o el puerto no es 9080.gotcha
    2. Seleccione Eco síncrono del tipo de mensaje.
    3. Asegúrese de que Utilizar SOAP 1.2 no está seleccionado.
    4. Especifique un mensaje y pulse Enviar mensaje.
    La aplicación de ejemplo debería responder con JAXWS==>Message.

Resultados

La aplicación de servicios web JaxWSServicesSamples está configurada para cifrar las respuestas utilizando el certificado utilizado para firmar la solicitud.

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_configpolicysetforsignerencrypt
File name: twbs_configpolicysetforsignerencrypt.html