2017-07-15 111 views
0

我試圖讓ActiveMQ支持TLSv1.2。我使用的是activemq v5.14.5。在Create ActiveMQ Connection on TLS1.2談到的修復無效。當我通過代碼加強我看到ActiveMQ支持TLSv1.2

 context.setSSLContext(sslContext); 
     SslContext.setCurrentSslContext(context); 
     Connection connection = factory.createConnection(loginName, pwd); 

調用factory.createConnection()實際上不使用剛設置的值,而是創建使用的「硬編碼默認的一個新的SSL上下文TLS」。我在調試器中觀察到了這一點。

歡迎任何其他建議。我認爲http://activemq.apache.org/configuring-transports.html的「配置傳輸」主題可能包含解決方案,但我還沒有嘗試過。

回答

0

默認的嵌入式ActiveMQ代理配置不會創建SSL傳輸連接器。如果您手動添加一個SSL傳輸連接器,那麼你可能已經限制使用選項transport.enabledProtocols由經紀人所支持的SSL協議:

<transportConnector name="ssl" uri="ssl://localhost:61617?transport.enabledProtocols=TLSv1.2"></transportConnector> 

此配置限制的ActiveMQ僅支持TLSv1.2工作SSL連接。其他TLSv1,TLSv1.1,SSLv3將不被支持。