Configurando um Nó HTTPRequest para Utilizar SSL (HTTPS)

Este tópico da tarefa explica como configurar o nó HTTPRequest para comunicar-se com outros aplicativos utilizando HTTP sobre SSL. A tarefa cobre as etapas requeridas para o sistema Windows, mas tarefas quase idênticas são requeridas para qualquer outra plataforma. Para concluir a tarefa do HTTPRequest, é requerido um aplicativo do servidor HTTPS. Para simplificar, os únicos detalhes que são fornecidos aqui são para utilização do nó HTTPInput para SSL como o aplicativo do servidor. No entanto, os mesmos detalhes também se aplicam quando você estiver utilizando qualquer outro aplicativo do servidor.

Incluindo Certificados no Arquivo cacerts

O certificado para o aplicativo do servidor a ser chamado deve ser incluído no arquivo cacerts para WebSphere Message Broker. Ele está localizado no diretório de segurança do JRE. Para localizar o arquivo cacerts no Windows, conclua as seguintes etapas:
  1. Selecione Iniciar > IBM WebSphere Message Brokers 6.0 > Console de Comandos para abrir um console de comandos.
  2. No console de comandos, digite o seguinte comando para ir para o diretório no qual o arquivo cacerts está localizado:
    cd "%MQSI_FILEPATH%\jre\lib\security"

Para modificar o arquivo cacerts, é necessário utilizar o comando keytool.

Importando um Certificado para o Arquivo cacerts
  1. Selecione Iniciar > IBM WebSphere Message Brokers 6.0 > Console de Comandos para abrir um console de comandos.
  2. No console de comandos, digite o seguinte comando:
    "%MQSI_FILEPATH%\jre\bin\keytool" -import -alias mykey
    -file nome do arquivo de certificado -keystore cacerts
    -keypass changeit
    nome do arquivo de certificado
    o nome completo do arquivo de certificados. Este arquivo normalmente está localizado no diretório home de usuários do intermediário de mensagem.
    changeit
    a senha padrão para o arquivo cacerts. Você deve alterar esta senha o mais rápido possível. Você pode utilizar keytool para alterar a senha.
Extraindo um Certificado de Outro Armazenamento de Chaves
  1. Selecione Iniciar > IBM WebSphere Message Brokers 6.0 > Console de Comandos para abrir um console de comandos.
  2. No console de comandos, digite o seguinte comando:
    "%MQSI_FILEPATH%\jre\bin\keytool" -export -alias tomcat
    -file nome do arquivo de certificado -keystore arquivo de armazenamento de chaves
    -keypass changeit
    nome do arquivo de certificado
    o nome completo do arquivo de certificados. Este arquivo normalmente é chamado de .keystore e, geralmente, está localizado no diretório home dos usuários do intermediário de mensagem.
    arquivo de armazenamento de chaves
    o nome completo do arquivo de armazenamento de chaves. Este arquivo normalmente está localizado no diretório home de usuários do intermediário de mensagem.
    changeit
    a senha padrão para o arquivo cacerts. Você deve alterar esta senha o mais rápido possível. Você pode utilizar keytool para alterar a senha.
É importante assegurar que o certificado correto tenha sido importado para o cacerts. O certificado correto é o certificado que o servidor HTTP deve utilizar.

Criando um Fluxo de Mensagens para Fazer Pedidos HTTPS

O fluxo de mensagens a seguir cria um fluxo de mensagens genérico para converter uma mensagem do WebSphere MQ em um HTTPRequest.:

  1. Crie um fluxo de mensagens com os nós MQInput->HTTPRequest->Compute->MQOutput.
  2. Para o nó MQInput, configure o nome da fila como HTTPS.IN1 e crie a fila do MQSeries.
  3. Para o nó MQOutput, configure o nome da fila como HTTPS.OUT1 e crie a fila do MQSeries.
  4. Para o nó HTTPRequest, configure a URL de Serviço da Web para apontar para o servidor HTTP a ser chamado. Para chamar a tarefa HTTPInput, utilize https://localhost:7083/testHTTPS.
  5. Para o nó HTTPRequest, configure as propriedades avançadas para utilizar OutputRoot.BLOB como o Local de resposta na árvore.
  6. No nó compute, inclua o seguinte 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;

O fluxo de mensagens agora está pronto para ser implementado e testado no intermediário.

Testando seu Exemplo

Para testar se o exemplo funciona, conclua as seguintes etapas

  1. Siga todas as instruções fornecidas em Configurando os Nós HTTPInput e HTTPReply para Utilizar SSL (HTTPS), incluindo o teste do exemplo.
  2. Implemente o fluxo de mensagens de HTTPRequest.
  3. Coloque uma mensagem na fila HTTPS.IN1 do MQSeries. Deve aparecer uma mensagem na fila de saída. Se ela falhar, aparecerá um erro no registro de eventos local (registro de eventos no Windows).
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ap12235_