我们正在使用安装在Jboss 5.1应用程序服务器上的websphere MQ资源适配器(.rar)档案与MQ进行通信。
在应用程序代码中,我们有JMS生产者和使用者,它们能够向MQ发送/接收消息。
我下一步要做的是在MQ通道上启用SSL并配置JBoss SSLCipherSuite ,以便可以在启用TLS的情况下发送消息。
我们的应用程序服务器和Web Sphere MQ之间也有防火墙和负载平衡器。
我看了一些文章,但是显然有几种使用TLS进行JMS通信的方法。
我需要以下问题的指导-
在Jboss中需要什么配置才能开始使用TLS发送和接收消息。该配置应放在哪里?我在IBM文档中提到了以下链接,其中提到SSLCipherSuite:IBM MQ 7.5 SSL
是否必须在Jboss应用程序服务器上安装Websphere MQ上安装的证书?我了解需要配置JSSE,但是我不确定所需的步骤。这是否意味着只需将密钥库和信任库复制到jboss安装中的某个位置?
它如何在集群环境中工作?证书是否必须复制到所有Jboss实例?
是否必须在负载均衡器上安装证书?我相信负载均衡器仅对HTTP请求起作用,而不对JMS-MQ消息起作用。
通常,企业中用于TLS和非TLS JMS通信的端口是否不同?我知道启用TLS的端口也必须在防火墙中打开。
下面是我们用于通信的连接工厂。
<tx-connection-factory>
<jndi-name>jmsConnFac</jndi-name>
<!-- Indicate that the connection factory supports only local transactions -->
<local-transaction/>
<!-- Indicate that the connection factory supports XA transactions -->
<!-- <xa-transaction/> -->
<!-- rar-name is the actual RAR file name, in this case wmq.jmsra.rar -->
<rar-name>wmq.jmsra.rar</rar-name>
<!-- connection-definition is the ConnectionFactory interface
defined in the ra.xml -->
<connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
<!-- Tell JBoss not to prefix the jndi name of the CF with the java: context and thus allow it to be looked up externally-->
<use-java-context>false</use-java-context>
<config-property name="channel" type="java.lang.String">SYSTEM.DEF.SVRCONN</config-property>
<config-property name="hostName" type="java.lang.String">localhost</config-property>
<config-property name="port" type="java.lang.String">1414</config-property>
<config-property name="queueManager" type="java.lang.String">QM</config-property>
<config-property name="transportType" type="java.lang.String">CLIENT</config-property>
<!-- define security domain -->
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
编辑: