Configurando os Nós HTTPInput e HTTPReply para Utilizar SSL (HTTPS)

Início da mudançaConfigurar os nós HTTPInput e HTTPReply para comunicação com outros aplicativos utilizando HTTPS, criando um arquivo de armazenamento de chaves, configurando o intermediário para utilizar SSL e criando um fluxo de mensagens para processar pedidos de HTTPS. Fim da mudança

Siga estas etapas para configurar os nós HTTPInput e HTTPReply para comunicação com outros aplicativos utilizando HTTP sobre SSL:

Criar um Arquivo de Armazenamento de Chaves para Armazenar Certificados do Intermediário

O WebSphere Message Broker inclui um JRE (Java Runtime Environment) que fornece um programa de manipulação de armazenamento de chaves que é chamado de keytool. Para chamar este comando, conclua as seguintes etapas:

  1. Selecione Iniciar > IBM WebSphere Message Brokers 6.0 > Console de Comandos para abrir o console de comandos do intermediário.
  2. No console de comandos, digite o seguinte comando:
    "%MQSI_FILEPATH%\jre\bin\keytool"
    Isto exibe as opções de ajuda e, portanto, valida se o comando está funcionando.
  3. Início da mudançaUtilize o comando keytool para criar o armazenamento de chaves e gerar um novo certificado auto-assinado (ou par de chaves):
    1. No console de comandos, digite o seguinte comando:
      "%MQSI_FILEPATH%\jre\bin\keytool" -genkey -keystore keystore file
       -storepass password -alias mykey
      em que keystore file é o nome completo do arquivo de armazenamento de chaves, password é a senha utilizada para o armazenamento de chaves e mykey é o nome (ou rótulo) fornecido para o novo par de chaves que está sendo gerado. O arquivo de armazenamento de chaves geralmente é chamado de .keystore e está localizado no diretório inicial do WebSphere Message Broker.
    2. Digite os detalhes pessoais que são necessários para gerar os certificados.
    3. Quando for solicitado que digite uma senha chave para o alias, pressione Enter para utilizar a mesma senha que o armazenamento de chaves. O armazenamento de chaves é gerado ou atualizado (se já existir).

    Este comando cria um armazenamento de chaves de tipo JKS, que é o único tipo de armazenamento suportado pelo intermediário.

    Você pode configurar estes parâmetros para quaisquer valores, mas as propriedades no intermediário devem ser alteradas para refleti-los.

    O parâmetro -genkey gera todos os arquivos de certificado necessários para ativar o HTTPS para funcionar para fins de teste, mas eles não são apropriados para utilização em um sistema de produção. Você deve comprar um certificado oficial de uma autoridade de certificação. Consulte seu administrador do sistema para verificar a política de sua empresa para criação de certificados.

    Para importar um certificado gerado por uma autoridade de certificação, utilize o parâmetro -import em vez do parâmetro -genkey.

    Início da mudançaVocê deve assegurar que a chave do servidor e a cifra que está sendo utilizada sejam compatíveis entre si. Por exemplo, se o servidor estiver utilizando uma chave DSA e o cliente estiver utilizando uma cifra SSL_DHE_RSA_WITH_AES_128_CBC_SHA, será necessário utilizar uma chave RSA no servidor. Fim da mudança

    Início da mudançaPara alterar a chave do servidor para RSA, inclua o seguinte parâmetro no comando keytool antes do parâmetro -alias:
       -keyalg RSA
    Fim da mudança
    Fim da mudança

O armazenamento de chaves já está criado e pronto para utilização pelo intermediário.

Configurando o Intermediário para Utilizar SSL em uma Porta Específica

O intermediário requer a configuração de várias propriedades para utilizar o HTTP sobre SSL. Todas estas propriedades podem ser alteradas utilizando o comando mqsichangeproperties. Altere as propriedades da seguinte forma:

Certifique-se de que cada uma destas propriedades esteja configurada com os valores corretos para seu sistema. Apenas a propriedade enableSSLConnector deve ser configurada; as outras três propriedades possuem valores padrão. O comando mqsichangeproperties lista os valores padrão para todas as propriedades.

Início da mudançaEm sistemas UNIX, apenas os processos executados com uma conta de usuário privilegiado (na maioria dos casos, raiz) podem ligar-se a portas inferiores a 1024. Para que o intermediário atenda nestas portas, o ID do usuário do serviço do intermediário deve ser raiz. Fim da mudança

Criando um Fluxo de Mensagens para Processar Pedidos de HTTPS

Início da mudançaVocê pode criar um fluxo de mensagens simples para utilizar HTTPS conectando um nó HTTPInput a um nó HTTPReply. As duas propriedades mais importantes a serem configuradas no nó HTTPInput são: Fim da mudança

  • Sufixo de Caminho para URL (Path suffix for URL). Por exemplo, /* ou /testHTTPS
  • Utilizar HTTPS.

/* significa que o nó HTTPInput corresponderá a qualquer pedido enviado para o listener HTTP em uma porta designada. Isto é útil para fins de teste, mas não é recomendado para sistemas de produção.

Agora você pode implementar o fluxo de mensagens para o intermediário. Se todas as demais etapas tiverem sido seguidas até este ponto, uma mensagem BIP3132 aparecerá no log do sistema local (que é o log de eventos no Windows) indicando que o listener HTTPS foi iniciado.

Agora você pode testar o sistema.

Testando seu Exemplo

O método mais simples de testar se o HTTPS está configurado corretamente é utilizar um navegador da Web para fazer um pedido para o intermediário através de HTTPS.

Inicie um navegador da Web e digite a seguinte URL:
 https://localhost:7083/testHTTPS
Altere quaisquer valores na URL para refletir alterações feitas na configuração do intermediário. Quando for exibida uma janela solicitando que você aceite o certificado, selecione Sim. O navegador atualiza a janela e exibe uma página HTML vazia. Em navegadores Mozilla, a página HTML vazia é semelhante ao seguinte exemplo:
<html>   
  <body/> 
</html>
e no Internet Explorer são exibidas as seguintes informações:
O documento XML deve ter um elemento de nível superior. Erro
ao processar o recurso
'https://localhost:7083/testHTTPS'

Estas respostas significam que foi retornada uma página em branco, indicando que a configuração funcionou corretamente. Para incluir conteúdo na página vazia, você pode incluir um nó compute no fluxo.

É possível utilizar outro cliente HTTPS para processar pedidos HTTPS. Leia a documentação para o cliente para saber como configurá-lo para estabelecer conexões do cliente através de SSL.

Você também pode utilizar outro cliente HTTPS, como um cliente Java ou .net em vez do navegador da Web. Dependendo do tipo de cliente, pode ser necessário exportar o certificado (que foi criado com keytool) do arquivo de armazenamento de chaves do listener HTTP e, em seguida, importá-lo para o armazenamento de chaves do cliente. Leia a documentação do cliente para saber como configurá-lo para estabelecer conexões do cliente através de SSL.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:12:59

ap12234_