ActiveMQ 支持 TLSv1.2
ActiveMQ support for TLSv1.2
我正在尝试让 ActiveMQ 支持 TLSv1.2。我正在使用 activemq v5.14.5。 中提到的修复没有奏效。当我单步执行代码时,我看到
context.setSSLContext(sslContext);
SslContext.setCurrentSslContext(context);
Connection connection = factory.createConnection(loginName, pwd);
对 factory.createConnection() 的调用实际上并没有使用刚刚设置的值,而是使用 "TLS" 的硬编码默认值创建了一个新的 SSL 上下文。我在调试器中观察到这一点。
欢迎提出任何其他建议。我认为 http://activemq.apache.org/configuring-transports.html 的主题 "configuring transports" 可能有解决方案,但我还没有尝试过。
默认的嵌入式 ActiveMQ 代理配置不会创建 SSL 传输连接器。如果您手动添加了 SSL 传输连接器,那么您可能已经使用选项 transport.enabledProtocols:
限制了代理支持的 SSL 协议
<transportConnector name="ssl" uri="ssl://localhost:61617?transport.enabledProtocols=TLSv1.2"></transportConnector>
此配置将 ActiveMQ 的 SSL 连接器限制为仅支持 TLSv1.2。不支持其他 TLSv1、TLSv1.1、SSLv3。
我正在尝试让 ActiveMQ 支持 TLSv1.2。我正在使用 activemq v5.14.5。
context.setSSLContext(sslContext);
SslContext.setCurrentSslContext(context);
Connection connection = factory.createConnection(loginName, pwd);
对 factory.createConnection() 的调用实际上并没有使用刚刚设置的值,而是使用 "TLS" 的硬编码默认值创建了一个新的 SSL 上下文。我在调试器中观察到这一点。
欢迎提出任何其他建议。我认为 http://activemq.apache.org/configuring-transports.html 的主题 "configuring transports" 可能有解决方案,但我还没有尝试过。
默认的嵌入式 ActiveMQ 代理配置不会创建 SSL 传输连接器。如果您手动添加了 SSL 传输连接器,那么您可能已经使用选项 transport.enabledProtocols:
限制了代理支持的 SSL 协议<transportConnector name="ssl" uri="ssl://localhost:61617?transport.enabledProtocols=TLSv1.2"></transportConnector>
此配置将 ActiveMQ 的 SSL 连接器限制为仅支持 TLSv1.2。不支持其他 TLSv1、TLSv1.1、SSLv3。