Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A967518A76 for ; Tue, 1 Mar 2016 16:38:09 +0000 (UTC) Received: (qmail 64906 invoked by uid 500); 1 Mar 2016 16:37:59 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 64818 invoked by uid 500); 1 Mar 2016 16:37:59 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 63669 invoked by uid 99); 1 Mar 2016 16:37:58 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Mar 2016 16:37:58 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 74C37DFF93; Tue, 1 Mar 2016 16:37:58 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: clebertsuconic@apache.org To: commits@activemq.apache.org Date: Tue, 01 Mar 2016 16:38:34 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [38/52] [abbrv] activemq-artemis git commit: Fixing SslContextNBrokerServiceTest (one of the two) Fixing SslContextNBrokerServiceTest (one of the two) Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/39b880fb Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/39b880fb Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/39b880fb Branch: refs/heads/refactor-openwire Commit: 39b880fb7b1cc7cef335986f30f72adbbeb89aaa Parents: 4dc1247 Author: Howard Gao Authored: Fri Feb 19 21:32:14 2016 +0800 Committer: Clebert Suconic Committed: Tue Mar 1 11:37:32 2016 -0500 ---------------------------------------------------------------------- .../apache/activemq/broker/BrokerService.java | 19 ++++++++ .../artemiswrapper/ArtemisBrokerWrapper.java | 46 ++++++++++-------- .../activemq/transport/tcp/n-brokers-ssl.xml | 51 ++++++++++++++++++++ 3 files changed, 97 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/39b880fb/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/BrokerService.java ---------------------------------------------------------------------- diff --git a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/BrokerService.java b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/BrokerService.java index b7b02b3..99de104 100644 --- a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/BrokerService.java +++ b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/BrokerService.java @@ -53,6 +53,7 @@ import org.apache.activemq.network.NetworkConnector; import org.apache.activemq.network.jms.JmsConnector; import org.apache.activemq.proxy.ProxyConnector; import org.apache.activemq.security.MessageAuthorizationPolicy; +import org.apache.activemq.spring.SpringSslContext; import org.apache.activemq.store.PListStore; import org.apache.activemq.store.PersistenceAdapter; import org.apache.activemq.store.PersistenceAdapterFactory; @@ -100,6 +101,7 @@ public class BrokerService implements Service { private Throwable startException = null; private boolean startAsync = false; public Set extraConnectors = new HashSet<>(); + public Set sslConnectors = new HashSet<>(); private List transportConnectors = new ArrayList<>(); private File dataDirectoryFile; @@ -491,6 +493,15 @@ public class BrokerService implements Service { public void setTransportConnectors(List transportConnectors) throws Exception { this.transportConnectors = transportConnectors; + for (TransportConnector connector : transportConnectors) { + if (connector.getUri().getScheme().equals("ssl")) { + this.sslConnectors.add(connector.getUri().getPort()); + System.out.println(this + " added ssl connector: " + connector.getUri().getPort()); + } + else { + this.extraConnectors.add(connector.getUri().getPort()); + } + } } public NetworkConnector addNetworkConnector(NetworkConnector connector) throws Exception { @@ -698,6 +709,14 @@ public class BrokerService implements Service { public void setSslContext(SslContext sslContext) { this.sslContext = sslContext; + if (sslContext instanceof SpringSslContext) { + SpringSslContext springContext = (SpringSslContext)sslContext; + this.SERVER_SIDE_KEYSTORE = springContext.getKeyStore(); + this.KEYSTORE_PASSWORD = springContext.getKeyStorePassword(); + this.SERVER_SIDE_TRUSTSTORE = springContext.getTrustStore(); + this.TRUSTSTORE_PASSWORD = springContext.getTrustStorePassword(); + this.storeType = springContext.getKeyStoreType(); + } } public void setPersistenceFactory(PersistenceAdapterFactory persistenceFactory) { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/39b880fb/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java ---------------------------------------------------------------------- diff --git a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java index 5cb5048..1c8ce9b 100644 --- a/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java +++ b/tests/activemq5-unit-tests/src/main/java/org/apache/activemq/broker/artemiswrapper/ArtemisBrokerWrapper.java @@ -33,13 +33,12 @@ import org.apache.activemq.artemis.core.postoffice.Binding; import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants; import org.apache.activemq.artemis.core.security.Role; -import org.apache.activemq.artemis.core.server.Queue; import org.apache.activemq.artemis.core.server.impl.QueueImpl; import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy; import org.apache.activemq.artemis.core.settings.impl.AddressSettings; import org.apache.activemq.artemis.core.settings.impl.SlowConsumerPolicy; import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; -import org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManagerImpl; +import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; import org.apache.activemq.artemiswrapper.ArtemisBrokerHelper; import org.apache.activemq.broker.BrokerService; import org.apache.activemq.broker.region.policy.PolicyEntry; @@ -82,25 +81,16 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { commonSettings.setDeadLetterAddress(dla); commonSettings.setAutoCreateJmsQueues(true); - HashMap params = new HashMap(); if (bservice.extraConnectors.size() == 0) { serverConfig.addAcceptorConfiguration("home", "tcp://localhost:61616?protocols=OPENWIRE,CORE"); } - if (this.bservice.enableSsl()) { - params.put(TransportConstants.SSL_ENABLED_PROP_NAME, true); - params.put(TransportConstants.PORT_PROP_NAME, 61611); - params.put(TransportConstants.PROTOCOLS_PROP_NAME, "OPENWIRE"); - params.put(TransportConstants.KEYSTORE_PATH_PROP_NAME, bservice.SERVER_SIDE_KEYSTORE); - params.put(TransportConstants.KEYSTORE_PASSWORD_PROP_NAME, bservice.KEYSTORE_PASSWORD); - params.put(TransportConstants.KEYSTORE_PROVIDER_PROP_NAME, bservice.storeType); - if (bservice.SERVER_SIDE_TRUSTSTORE != null) { - params.put(TransportConstants.NEED_CLIENT_AUTH_PROP_NAME, true); - params.put(TransportConstants.TRUSTSTORE_PATH_PROP_NAME, bservice.SERVER_SIDE_TRUSTSTORE); - params.put(TransportConstants.TRUSTSTORE_PASSWORD_PROP_NAME, bservice.TRUSTSTORE_PASSWORD); - params.put(TransportConstants.TRUSTSTORE_PROVIDER_PROP_NAME, bservice.storeType); - } - TransportConfiguration sslTransportConfig = new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params); - serverConfig.getAcceptorConfigurations().add(sslTransportConfig); + if (this.bservice.enableSsl() && bservice.sslConnectors.size() == 0) { + //default + addSSLAcceptor(serverConfig, 61611); + } + + for (Integer port : bservice.sslConnectors) { + addSSLAcceptor(serverConfig, port); } for (Integer port : bservice.extraConnectors) { @@ -112,7 +102,7 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { //extraServerConfig(serverConfig); if (enableSecurity) { - ActiveMQSecurityManagerImpl sm = (ActiveMQSecurityManagerImpl) server.getSecurityManager(); + ActiveMQJAASSecurityManager sm = (ActiveMQJAASSecurityManager) server.getSecurityManager(); SecurityConfiguration securityConfig = sm.getConfiguration(); securityConfig.addRole("openwireSender", "sender"); securityConfig.addUser("openwireSender", "SeNdEr"); @@ -175,6 +165,24 @@ public class ArtemisBrokerWrapper extends ArtemisBrokerBase { } + private void addSSLAcceptor(Configuration serverConfig, Integer port) { + HashMap params = new HashMap(); + params.put(TransportConstants.SSL_ENABLED_PROP_NAME, true); + params.put(TransportConstants.PORT_PROP_NAME, port); + params.put(TransportConstants.PROTOCOLS_PROP_NAME, "OPENWIRE"); + params.put(TransportConstants.KEYSTORE_PATH_PROP_NAME, bservice.SERVER_SIDE_KEYSTORE); + params.put(TransportConstants.KEYSTORE_PASSWORD_PROP_NAME, bservice.KEYSTORE_PASSWORD); + params.put(TransportConstants.KEYSTORE_PROVIDER_PROP_NAME, bservice.storeType); + if (bservice.SERVER_SIDE_TRUSTSTORE != null) { + params.put(TransportConstants.NEED_CLIENT_AUTH_PROP_NAME, true); + params.put(TransportConstants.TRUSTSTORE_PATH_PROP_NAME, bservice.SERVER_SIDE_TRUSTSTORE); + params.put(TransportConstants.TRUSTSTORE_PASSWORD_PROP_NAME, bservice.TRUSTSTORE_PASSWORD); + params.put(TransportConstants.TRUSTSTORE_PROVIDER_PROP_NAME, bservice.storeType); + } + TransportConfiguration sslTransportConfig = new TransportConfiguration(NETTY_ACCEPTOR_FACTORY, params); + serverConfig.getAcceptorConfigurations().add(sslTransportConfig); + } + private void translatePolicyMap(Configuration serverConfig, PolicyMap policyMap) { List allEntries = policyMap.getAllEntries(); Map settingsMap = serverConfig.getAddressesSettings(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/39b880fb/tests/activemq5-unit-tests/src/test/resources/org/apache/activemq/transport/tcp/n-brokers-ssl.xml ---------------------------------------------------------------------- diff --git a/tests/activemq5-unit-tests/src/test/resources/org/apache/activemq/transport/tcp/n-brokers-ssl.xml b/tests/activemq5-unit-tests/src/test/resources/org/apache/activemq/transport/tcp/n-brokers-ssl.xml new file mode 100644 index 0000000..4bd5fc7 --- /dev/null +++ b/tests/activemq5-unit-tests/src/test/resources/org/apache/activemq/transport/tcp/n-brokers-ssl.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +