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

Reply via email to