Repository: activemq Updated Branches: refs/heads/trunk 33089f3fb -> 1948fe41a
https://issues.apache.org/jira/browse/AMQ-5407 Allow config of enabled protocols for nio+ssl and stomp+nio+ssl etc to match the capability of the non-nio transports. Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/1948fe41 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/1948fe41 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/1948fe41 Branch: refs/heads/trunk Commit: 1948fe41a35d895589dfd14d85aee75078a8415b Parents: 33089f3 Author: Timothy Bish <[email protected]> Authored: Thu Oct 23 15:03:35 2014 -0400 Committer: Timothy Bish <[email protected]> Committed: Thu Oct 23 15:03:35 2014 -0400 ---------------------------------------------------------------------- .../apache/activemq/transport/nio/NIOSSLTransport.java | 13 +++++++++++++ .../apache/activemq/transport/nio/NIOSSLBasicTest.java | 7 +++++++ 2 files changed, 20 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/1948fe41/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java ---------------------------------------------------------------------- diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java index 02789f3..33f529e 100644 --- a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java +++ b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java @@ -50,6 +50,7 @@ public class NIOSSLTransport extends NIOTransport { protected boolean needClientAuth; protected boolean wantClientAuth; protected String[] enabledCipherSuites; + protected String[] enabledProtocols; protected SSLContext sslContext; protected SSLEngine sslEngine; @@ -106,6 +107,10 @@ public class NIOSSLTransport extends NIOTransport { sslEngine.setEnabledCipherSuites(enabledCipherSuites); } + if (enabledProtocols != null) { + sslEngine.setEnabledProtocols(enabledProtocols); + } + if (wantClientAuth) { sslEngine.setWantClientAuth(wantClientAuth); } @@ -435,4 +440,12 @@ public class NIOSSLTransport extends NIOTransport { public void setEnabledCipherSuites(String[] enabledCipherSuites) { this.enabledCipherSuites = enabledCipherSuites; } + + public String[] getEnabledProtocols() { + return enabledProtocols; + } + + public void setEnabledProtocols(String[] enabledProtocols) { + this.enabledProtocols = enabledProtocols; + } } http://git-wip-us.apache.org/repos/asf/activemq/blob/1948fe41/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java ---------------------------------------------------------------------- diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java index 78c1309..885446d 100644 --- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java +++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java @@ -90,6 +90,13 @@ public class NIOSSLBasicTest { stopBroker(broker); } + @Test + public void enabledProtocols() throws Exception { + BrokerService broker = createBroker("nio+ssl", "nio+ssl://localhost:61616?transport.needClientAuth=true&transport.enabledProtocols=TLSv1,TLSv1.1,TLSv1.2"); + basicSendReceive("ssl://localhost:" + broker.getConnectorByName("nio+ssl").getConnectUri().getPort()); + stopBroker(broker); + } + public void basicSendReceive(String uri) throws Exception { ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(uri); Connection connection = factory.createConnection();
