2017-07-15 194 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将不被支持。