Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Conectar ao MOM utilizando protocolo HTTPS

Para acessar um provider.url com protocolo HTTPS, quais alterações devo fazer no JNDI é em minha classe java no momento de criar a conexão?

jndi.properties

# use the following property to configure the default connector
#java.naming.provider.url = vm://localhost
java.naming.provider.url = tcp://localhost:61616

TesteConsumidor.java

InitialContext context = new InitialContext();
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
2 respostas
solução!

É possível usar SSL na conexão como é mostrado nos seguintes passos.

1 - Primeiro você deve gerar as chaves SSL para o broker e para os clients:

keytool -genkey -alias broker -keyalg RSA -keystore broker.ks
keytool -genkey -alias client -keyalg RSA -keystore client.ks

2 - Você exportará a chave do broker para os clientes:

keytool -export -alias broker -keystore broker.ks -file broker_cert

3 - Então importe os certificados do broker como uma chave de confiança do cliente:

keytool -import -alias broker -keystore client.ts -file broker_cert

4 - Com as chaves você irá habilitá-las no conf/activemq.xml:

<beans
  <amq:broker useJmx="false" persistent="false">

    <amq:sslContext>
      <amq:sslContext
            keyStore="broker.ks" keyStorePassword="password"
            trustStore="client.ks" trustStorePassword="password"/>
    </amq:sslContext>

    <amq:transportConnectors>
      <amq:transportConnector uri="ssl://localhost:61616" />
    </amq:transportConnectors>

  </amq:broker>
</beans>

Por fim basta você acessa via SSL:

java.naming.provider.url=ssl://localhost:61616

@Steimntz, obrigado por sua atenção. Vou tentar realizar a implementação sugerida.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software