Configuración de los nodos HTTPInput y HTTPReply para utilizar SSL (HTTPS)

Inicio del cambioConfigure los nodos HTTPInput y HTTPReply para que se comuniquen con otras aplicaciones que utilicen HTTPS, creando para ello un archivo de almacén de claves, configurando el intermediario para que utilice SSL y creando un flujo de mensajes para procesar las peticiones HTTPS.Fin del cambio

Siga los pasos siguientes para configurar los nodos HTTPInput y HTTPReply para comunicarse con otras aplicaciones utilizando HTTP sobre SSL:

Creación un archivo de almacén de claves para almacenar los certificados del intermediario

WebSphere Message Broker incluye un Java Runtime Environment (JRE) que proporciona un programa de manipulación de almacén de claves, que se denomina keytool. Para invocar este mandato, realice los pasos siguientes:

  1. Seleccione Inicio > IBM WebSphere Message Brokers 6.0 > Consola de mandatos para abrir la consola de mandatos de intermediario.
  2. En la consola de mandatos, escriba el mandato siguiente:
    "%MQSI_FILEPATH%\jre\bin\keytool"
    Esto muestra las opciones de ayuda y, por consiguiente, valida que el mandato funciona.
  3. Inicio del cambioUtilice el mandato keytool para crear el almacén de claves y generar un nuevo certificado autofirmado (o pareja de claves):
    1. En la consola de mandatos, escriba el mandato siguiente:
      "%MQSI_FILEPATH%\jre\bin\keytool" -genkey -keystore archivo de almacén de claves
       -storepass contraseña -alias miclave
      donde archivo de almacén de claves es el nombre completo del archivo de almacén de claves, contraseña es la contraseña utilizada para el almacén de claves y miclave es el nombre (o etiqueta) que se ha asignado a la nueva pareja de claves que se está generando. El archivo de almacén de claves se llama normalmente .keystore y se encuentra en el directorio inicial de WebSphere Message Broker.
    2. Escriba los detalles personales necesarios para generar los certificados.
    3. Cuando se le indique que entre una contraseña para el alias, pulse Intro para utilizar la misma contraseña que el almacén de claves. El almacén de claves se generará o actualizará (si ya existe).

    Este mandato crea un almacén de claves del tipo JKS, que es el único tipo de tienda soportado por el intermediario.

    Puede establecer estos parámetros utilizando cualquier valor, pero las propiedades en el intermediario deben modificarse para reflejar los cambios.

    El parámetro -genkey genera todos los archivos de certificado necesarios para permitir el funcionamiento de HTTPS, con fines de prueba, pero no es conveniente utilizarlos en un sistema de producción. Debe adquirir un certificado oficial en una autoridad de certificación. Consulte al administrador del sistema para verificar la política de la empresa respecto a la creación de certificados.

    Para importar un certificado generado por una autoridad de certificación, utilice el parámetro -import en lugar del parámetro -genkey.

    Inicio del cambioDebe asegurarse de que la clave del servidor y el cifrado que esté utilizando sean compatibles entre sí. Por ejemplo, si el servidor está utilizando una clave DSA y el cliente está utilizando el cifrado SSL_DHE_RSA_WITH_AES_128_CBC_SHA, debe utilizar una clave RSA en el servidor.Fin del cambio

    Inicio del cambioPara cambiar la clave de servidor a RSA, añada el siguiente parámetro al mandato keytool antes del parámetro -alias:
       -keyalg RSA
    Fin del cambio
    Fin del cambio

Ahora el almacén de claves ya se ha creado y está preparado para que lo utilice el intermediario.

Configuración del intermediario para utilizar SSL en un puerto determinado

El intermediario requiere que se establezcan varias propiedades para utilizar HTTP sobre SSL. Todas estas propiedades se pueden cambiar utilizando el mandato mqsichangeproperties. Cambie las propiedades como se indica a continuación:

Asegúrese de que cada una de estas propiedades se establece con valores correctos para el sistema. Sólo debe establecerse la propiedad enableSSLConnector; las otras tres propiedades tienen los valores predeterminados. El mandato mqsichangeproperties lista los valores predeterminados de todas las propiedades.

Inicio del cambioEn sistemas UNIX, sólo los procesos que se ejecutan con una cuenta de usuario con privilegios (en muchos casos, root) pueden vincularse a puertos inferiores al 1024. Para que el intermediario escuche en estos puertos, el ID de usuario del servicio del intermediario debe ser root. Fin del cambio

Creación de un flujo de mensajes para procesar peticiones HTTPS

Inicio del cambioPuede crear un sencillo flujo de mensajes que utilice HTTPS conectando el nodo HTTPInput a un nodo HTTPReply. Las dos propiedades más importantes que deben establecerse en el nodo HTTPInput son: Fin del cambio

  • Sufijo de vía de acceso para URL. Por ejemplo /* o /testHTTPS
  • Utilizar HTTPS.

/* significa que el nodo HTTPInput comparará cualquier petición que se envíe al escucha HTTP en un puerto designado. Esto es útil para realizar pruebas, pero no se recomienda para sistemas de producción.

Ahora puede desplegar el flujo de mensajes en el intermediario. Si se han seguido todos los demás pasos hasta este punto, aparecerá un mensaje BIP3132 en las anotaciones del sistema local (el registro de sucesos en Windows) indicando que el escucha HTTPS se ha iniciado.

Ahora ya puede probar el sistema.

Prueba del ejemplo

El método más simple para comprobar si HTTPS está configurado correctamente consiste en utilizar un navegador Web para realizar una petición al intermediario a través de HTTPS.

Inicie un navegador web y escriba el siguiente URL:
 https://localhost:7083/testHTTPS
Cambie los valores del URL para reflejar los cambios que ha realizado en la configuración de intermediario. Cuando se muestre una ventana solicitándole que acepte el certificado, seleccione . El navegador renovará la ventana y mostrará una página HTML vacía. En navegadores Mozilla, la página HTML vacía se parece al ejemplo siguiente:
<html>   
  <body/> 
</html>
y en Internet Explorer se muestra la siguiente información:
El documento XML debe tener un elemento de nivel superior. Error al procesar recurso
'https://localhost:7083/testHTTPS'

Estas respuestas significan que se ha devuelto una página en blanco, lo que indica que la configuración ha funcionado correctamente. Para añadir contenido a la página vacía, puede añadir un nodo compute al flujo.

Puede utilizar otro cliente HTTPS para procesar las peticiones HTTPS. Lea la documentación del cliente para obtener información sobre cómo configurarlo para realizar conexiones de cliente sobre SSL.

En lugar del navegador web también puede utilizar otro cliente HTTPS, como por ejemplo un cliente Java o .net. En función del tipo de cliente, es posible tenga que exportar el certificado (que se ha creado con keytool) del archivo de almacén de claves del escucha HTTP y, a continuación, importarlo al almacén de claves del cliente. Lea la documentación del cliente para obtener información sobre cómo configurar el cliente para realizar conexiones de cliente sobre SSL.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:55:56

ap12234_