1
我正在嘗試創建與activemq(使用Spring 3.1,ActiveMQ 5.5和Camel 10.0)的SSL連接。我遇到了可怕的SSL握手異常。我可以使用jks中的證書連接openssl s_client。因此,我試圖弄清楚我的密鑰庫是否存在問題(這似乎適用於其他情況 - 例如使用tomcat)或者我的XML配置存在問題。有沒有人有一個很好的例子,關於其他測試方法的想法,或者看看我做錯了什麼?如何通過SSL爲activemq 5配置Spring 3客戶端
請注意,我的配置通過驗證(如果您看到錯字)。
感謝 -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>
感謝您的評論。我正在使用它進行調試。我通過在JVM中設置密鑰庫和信任庫信息而不是在ConnectionFactory中設置它(如上所述)來獲得它(有點)的工作。任何想法爲什麼一個人會工作,而另一個不會? – eze
好的。我通常用JVM參數來做,但無論如何。 /usr/lib/mykeystore.jks似乎不在您的類路徑中,對嗎? ' '可能是正確的語法,因爲您想獲取文件系統密鑰庫。 我建議閱讀本頁:http://fusesource.com/docs/broker/5.5/security/FMQSecuritySSLClients.html關於這個問題的一些信息。 –