1

我正在尝试创建与 activemq 的 SSL 连接(使用 Spring 3.1、ActiveMQ 5.5 和 Camel 10.0)。我遇到了可怕的 SSL 握手异常。我可以使用 jks 中的证书与 openssl s_client 连接。因此,我试图弄清楚我的密钥库是否有问题(这似乎在其他情况下也可以工作 - 例如使用 tomcat)或我的 XML 配置有问题。有没有人有一个很好的例子,关于其他测试方法的想法,或者看看我做错了什么?

请注意,我的配置通过了验证(以防您看到错字)。

谢谢-J

<bean id="myJmsRedeliverPolicy" class="org.apache.activemq.RedeliverPolicy">
    <property name="maximumRedeliveries" value="500"/>
</bean>

<bean id="jmsSecureConnectionFactory" class="org.apache.activemq.ActiveMQSslConnectionFactory">
    <property name="brokerURL" value="ssl://test.com:8100"/>
    <property name="redeliverPolicy" ref="myJmsRedeliverPolicy"/>
    <property name="keyStore" value="/usr/lib/mykeystore.jks"/>
    <property name="keyStorePassword" value="mypass"/>
    <property name="trustStore" value="/usr/lib/mycacerts"/>
    <property name="trustStorePassword" value="changeit"/>
 </bean>

 <bean id="pooledSecureConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
    <property name="maxConnections" value="10"/>
    <property name="connectionFactory" ref="jmsSecureConnectionFactory"/>
 </bean>

 <bean id="txSecureManager" class="org.springframework.jms.connection.JmsTransactionManager">
    <property name="connectionFactory" ref="pooledSecureConnectionFactory" />
 </bean>

 <bean id="jmsSecureConfig" class="org.apache.camel.component.jms.JmsConfiguration">
    <property name="connectionFactory" ref="pooledSecureConnectionFactory" />
    <property name="testConnectionOnStartup" value="true"/>
    <property name="transacted" value="true"/>
    <property name="transactionManager" ref="txSecureManager"/>
 </bean>

 <bean id="activemqs" class="org.apache.activemq.camel.component.ActiveMQComponent">
    <property name="configuration" ref="jmsSecureConfig" />
 </bean>
4

1 回答 1

1

启动您的应用程序: -Djavax.net.debug=ssl

进一步了解您的故障排除。通常,该命令提供的打印输出几乎可以准确地说明问题所在。

于 2012-12-06T12:27:33.610 回答