Configuración de un nodo HTTPRequest para utilizar SSL (HTTPS)

Este tema de la tarea explica cómo configurar el nodo HTTPRequest para comunicarse con otras aplicaciones utilizando HTTP sobre SSL. La tarea incluye los pasos necesarios para el sistema Windows pero los tareas necesarias para cualquier otra plataforma son casi idénticas. Para realizar la tarea HTTPRequest, se necesita una aplicación de servidor HTTPS. Para una mayor sencillez, los únicos detalles que se proporcionan aquí son para utilizar el nodo HTTPInput para SSL como aplicación de servidor. Sin embargo, cuando esté utilizando cualquier otra aplicación de servidor se aplicarán también los mismos detalles.

Adición de certificados al archivo cacerts

El certificado para la aplicación de servidor que se debe llamar se debe añadir al archivo cacerts para WebSphere Message Broker. Éste está ubicado en el directorio de seguridad de JRE. Para buscar el archivo cacerts en Windows, realice los pasos siguientes:
  1. Seleccione Inicio > IBM WebSphere Message Brokers 6.0 > Consola de mandatos para abrir una consola de mandatos de intermediario.
  2. En la consola de mandatos, escriba el mandato siguiente para cambiar al directorio donde está ubicado el archivo cacerts:
    cd "%MQSI_FILEPATH%\jre\lib\security"

Para modificar el archivo cacerts, debe utilizar le mandato keytool.

Importación de un certificado al archivo cacerts
  1. Seleccione Inicio > IBM WebSphere Message Brokers 6.0 > Consola de mandatos para abrir una consola de mandatos de intermediario.
  2. En la consola de mandatos, escriba el mandato siguiente:
    "%MQSI_FILEPATH%\jre\bin\keytool" -import -alias mykey -file nombre de archivo de certificados -keystore cacerts -keypass changeit
    nombre de archivo de certificados
    nombre totalmente calificado del archivo de certificados. Este archivo se encuentra normalmente en el directorio inicial de usuarios de intermediario de mensaje.
    changeit
    contraseña por omisión para el archivo cacerts. Deberá cambiar esta contraseña lo antes posible. Puede utilizar keytool para cambiar la contraseña.
Extracción de un certificado de otro almacén de claves
  1. Seleccione Inicio > IBM WebSphere Message Brokers 6.0 > Consola de mandatos para abrir una consola de mandatos de intermediario.
  2. En la consola de mandatos, escriba el mandato siguiente:
    "%MQSI_FILEPATH%\jre\bin\keytool" -export -alias tomcat -file nombre de archivo de certificados -keystore archivo de almacén de claves -keypass changeit
    nombre de archivo de certificados
    nombre totalmente calificado del archivo de certificados. Este archivo se denomina normalmente .keystore y suele estar ubicado en el directorio inicial de usuarios de intermediario de mensajes.
    archivo de almacén de claves
    nombre totalmente calificado del archivo de almacén de claves. Este archivo se encuentra normalmente en el directorio inicial de usuarios de intermediario de mensaje.
    changeit
    contraseña por omisión para el archivo cacerts. Deberá cambiar esta contraseña lo antes posible. Puede utilizar keytool para cambiar la contraseña.
Es importante asegurarse de que se ha importado el certificado correcto al archivo cacerts. El certificado correcto es el certificado que el servidor HTTP deberá utilizar.

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

El siguiente flujo de mensajes crea un flujo de mensajes genérico para convertir un mensaje de WebSphere MQ en una petición HTTP:

  1. Cree un flujo de mensajes con los nodos MQInput->HTTPRequest->Compute->MQOutput.
  2. Para el nodo MQInput, establezca el nombre de cola en HTTPS.IN1 y cree la cola de MQSeries.
  3. Para el nodo MQOutput, establezca el nombre de cola en HTTPS.OUT1 y cree la cola de MQSeries.
  4. Para el nodo HTTPRequest, establezca el URL de servicio Web para que apunte al servidor HTTP al que se debe llamar. Para llamar a la tarea HTTPInput utilice https://sistprallocal:7083/testHTTPS.
  5. Para el nodo HTTPRequest, establezca las propiedades avanzadas para utilizar OutputRoot.BLOB como Ubicación de respuesta en el árbol.
  6. En el nodo Compute, añada el siguiente esql:
    CREATE COMPUTE MODULE test_https_Compute
        CREATE FUNCTION Main() RETURNS BOOLEAN
        BEGIN
            -- CALL CopyMessageHeaders();
            CALL CopyEntireMessage();
            set OutputRoot.HTTPResponseHeader = null;
            RETURN TRUE;
        END;
    
        CREATE PROCEDURE CopyMessageHeaders() BEGIN
            DECLARE I INTEGER;
            DECLARE J INTEGER;
            SET I = 1;
            SET J = CARDINALITY(InputRoot.*[]);
            WHILE I < J DO
                SET OutputRoot.*[I] = InputRoot.*[I];
                SET I = I + 1;
            END WHILE;
        END;
    
        CREATE PROCEDURE CopyEntireMessage() BEGIN
            SET OutputRoot = InputRoot;
        END;
    END MODULE;

Ahora el flujo de mensajes está preparado para desplegarse en el intermediario y probarse.

Prueba del ejemplo

Para probar que el ejemplo funciona, realice los pasos siguientes:

  1. Siga todas las instrucciones proporcionadas en Configuración de los nodos HTTPInput y HTTPReply para utilizar SSL (HTTPS), incluida la prueba del ejemplo.
  2. Despliegue el flujo de mensajes HTTPRequest.
  3. Ponga un mensaje en la cola de MQSeries HTTPS.IN1. Debe aparecer un mensaje en la cola de salida. Si falla, aparecerá un error en las anotaciones de errores locales (anotaciones de sucesos en Windows).
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ap12235_