This is an automated email from the ASF dual-hosted git repository. orudyy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-jms-amqp-0-x.git
commit c25b1faa79997983de6652189086a7de7c10ad9a Author: Alex Rudyy <oru...@apache.org> AuthorDate: Fri May 15 23:56:22 2020 +0100 QPID-8441: [JMS AMQP 0-x] Add connection options to override keystore and truststore types --- .../java/org/apache/qpid/client/BrokerDetails.java | 28 ++++++++++++++++++++++ .../client/BrokerDetails/BrokerDetailsTest.java | 28 ++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/client/src/main/java/org/apache/qpid/client/BrokerDetails.java b/client/src/main/java/org/apache/qpid/client/BrokerDetails.java index 0ce3fd3..c19f023 100644 --- a/client/src/main/java/org/apache/qpid/client/BrokerDetails.java +++ b/client/src/main/java/org/apache/qpid/client/BrokerDetails.java @@ -54,8 +54,10 @@ public class BrokerDetails implements Serializable public static final String OPTIONS_SASL_SERVER_NAME = "sasl_server"; public static final String OPTIONS_TRUST_STORE = "trust_store"; public static final String OPTIONS_TRUST_STORE_PASSWORD = "trust_store_password"; + public static final String OPTIONS_TRUST_STORE_TYPE = "trust_store_type"; public static final String OPTIONS_KEY_STORE = "key_store"; public static final String OPTIONS_KEY_STORE_PASSWORD = "key_store_password"; + public static final String OPTIONS_KEY_STORE_TYPE = "key_store_type"; public static final String OPTIONS_SSL_VERIFY_HOSTNAME = "ssl_verify_hostname"; public static final String OPTIONS_SSL_CERT_ALIAS = "ssl_cert_alias"; public static final String OPTIONS_CLIENT_CERT_PRIV_KEY_PATH = "client_cert_priv_key_path"; @@ -65,9 +67,11 @@ public class BrokerDetails implements Serializable public static final String OPTIONS_ENCRYPTION_TRUST_STORE = "encryption_trust_store"; public static final String OPTIONS_ENCRYPTION_TRUST_STORE_PASSWORD = "encryption_trust_store_password"; + public static final String OPTIONS_ENCRYPTION_TRUST_STORE_TYPE = "encryption_trust_store_type"; public static final String OPTIONS_ENCRYPTION_REMOTE_TRUST_STORE = "encryption_remote_trust_store"; public static final String OPTIONS_ENCRYPTION_KEY_STORE = "encryption_key_store"; public static final String OPTIONS_ENCRYPTION_KEY_STORE_PASSWORD = "encryption_key_store_password"; + public static final String OPTIONS_ENCRYPTION_KEY_STORE_TYPE = "encryption_key_store_type"; static final Set<String> PASSWORD_YIELDING_OPTIONS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( @@ -488,6 +492,12 @@ public class BrokerDetails implements Serializable getProperty(BrokerDetails.OPTIONS_TRUST_STORE_PASSWORD)); } + if (getProperty(BrokerDetails.OPTIONS_TRUST_STORE_TYPE) != null) + { + conSettings.setTrustStoreType( + getProperty(BrokerDetails.OPTIONS_TRUST_STORE_TYPE)); + } + if (getProperty(BrokerDetails.OPTIONS_KEY_STORE) != null) { conSettings.setKeyStorePath( @@ -500,6 +510,12 @@ public class BrokerDetails implements Serializable getProperty(BrokerDetails.OPTIONS_KEY_STORE_PASSWORD)); } + if (getProperty(BrokerDetails.OPTIONS_KEY_STORE_TYPE) != null) + { + conSettings.setKeyStoreType( + getProperty(BrokerDetails.OPTIONS_KEY_STORE_TYPE)); + } + if (getProperty(BrokerDetails.OPTIONS_SSL_CERT_ALIAS) != null) { conSettings.setCertAlias( @@ -550,6 +566,11 @@ public class BrokerDetails implements Serializable getProperty(BrokerDetails.OPTIONS_ENCRYPTION_KEY_STORE_PASSWORD)); } + if (getProperty(BrokerDetails.OPTIONS_ENCRYPTION_KEY_STORE_TYPE) != null) + { + conSettings.setEncryptionKeyStoreType( + getProperty(BrokerDetails.OPTIONS_ENCRYPTION_KEY_STORE_TYPE)); + } if (getProperty(BrokerDetails.OPTIONS_ENCRYPTION_TRUST_STORE) != null) { @@ -564,6 +585,13 @@ public class BrokerDetails implements Serializable } + if (getProperty(BrokerDetails.OPTIONS_ENCRYPTION_TRUST_STORE_TYPE) != null) + { + conSettings.setEncryptionTrustStoreType( + getProperty(BrokerDetails.OPTIONS_ENCRYPTION_TRUST_STORE_TYPE)); + } + + if (getProperty(BrokerDetails.OPTIONS_ENCRYPTION_REMOTE_TRUST_STORE) != null) { conSettings.setEncryptionRemoteTrustStoreName( diff --git a/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java b/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java index 3d7e63f..4dc94f2 100644 --- a/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java +++ b/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java @@ -271,4 +271,32 @@ public class BrokerDetailsTest extends QpidTestCase ConnectionSettings connectionSettings = broker.buildConnectionSettings(); assertEquals("foo", connectionSettings.getEncryptionTrustStorePassword()); } + + public void testEncryptionKeyStoreType() throws Exception + { + BrokerDetails broker = new BrokerDetails("tcp://localhost:5672?encryption_key_store_type='foo'"); + ConnectionSettings connectionSettings = broker.buildConnectionSettings(); + assertEquals("foo", connectionSettings.getEncryptionKeyStoreType()); + } + + public void testEncryptionTrustStoreType() throws Exception + { + BrokerDetails broker = new BrokerDetails("tcp://localhost:5672?encryption_trust_store_type='foo'"); + ConnectionSettings connectionSettings = broker.buildConnectionSettings(); + assertEquals("foo", connectionSettings.getEncryptionTrustStoreType()); + } + + public void testKeyStoreType() throws Exception + { + BrokerDetails details = new BrokerDetails("tcp://localhost:5672?key_store_type='foo'"); + ConnectionSettings connectionSettings = details.buildConnectionSettings(); + assertEquals("foo", connectionSettings.getKeyStoreType()); + } + + public void testTrustStoreType() throws Exception + { + BrokerDetails details = new BrokerDetails("tcp://localhost:5672?trust_store_type='foo'"); + ConnectionSettings connectionSettings = details.buildConnectionSettings(); + assertEquals("foo", connectionSettings.getTrustStoreType()); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org