Expose ssl protocol config
[aai/rest-client.git] / src / main / java / org / onap / aai / restclient / rest / RestClientBuilder.java
index f446f27..0272065 100644 (file)
@@ -39,7 +39,7 @@ import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.config.ClientConfig;\r
 import com.sun.jersey.api.client.config.DefaultClientConfig;\r
 import com.sun.jersey.client.urlconnection.HTTPSProperties;\r
-\r
\r
 /**\r
  * This is a generic REST Client builder with flexible security validation. Sometimes it's nice to\r
  * be able to disable server chain cert validation and hostname validation to work-around lab\r
@@ -59,8 +59,8 @@ public class RestClientBuilder {
   public static final RestAuthenticationMode DEFAULT_AUTH_MODE = RestAuthenticationMode.SSL_CERT;\r
   public static final String DEFAULT_BASIC_AUTH_USERNAME = "";\r
   public static final String DEFAULT_BASIC_AUTH_PASSWORD = "";\r
+  public static final String DEFAULT_SSL_PROTOCOL = "TLS";\r
 \r
-  private static final String SSL_PROTOCOL = "TLS";\r
   private static final String KEYSTORE_ALGORITHM = "SunX509";\r
   private static final String KEYSTORE_TYPE = "PKCS12";\r
   private static final String TRUST_STORE_PROPERTY = "javax.net.ssl.trustStore";\r
@@ -75,6 +75,7 @@ public class RestClientBuilder {
   private RestAuthenticationMode authenticationMode;\r
   private String basicAuthUsername;\r
   private String basicAuthPassword;\r
+  private String sslProtocol;\r
 \r
   /**\r
    * Rest Client Builder.\r
@@ -90,6 +91,7 @@ public class RestClientBuilder {
     authenticationMode = DEFAULT_AUTH_MODE;\r
     basicAuthUsername = DEFAULT_BASIC_AUTH_USERNAME;\r
     basicAuthPassword = DEFAULT_BASIC_AUTH_PASSWORD;\r
+    sslProtocol = DEFAULT_SSL_PROTOCOL;\r
   }\r
 \r
   public boolean isValidateServerHostname() {\r
@@ -148,8 +150,6 @@ public class RestClientBuilder {
     this.readTimeoutInMs = readTimeoutInMs;\r
   }\r
 \r
-\r
-\r
   public RestAuthenticationMode getAuthenticationMode() {\r
     return authenticationMode;\r
   }\r
@@ -174,6 +174,14 @@ public class RestClientBuilder {
     this.basicAuthPassword = basicAuthPassword;\r
   }\r
 \r
+  public String getSslProtocol() {\r
+    return sslProtocol;\r
+  }\r
+\r
+  public void setSslProtocol(String sslProtocol) {\r
+    this.sslProtocol = sslProtocol;\r
+  }\r
+\r
   /**\r
    * Returns Client configured for SSL\r
    */\r
@@ -219,7 +227,7 @@ public class RestClientBuilder {
 \r
     // Set up the SSL context, keystore, etc. to use for our connection\r
     // to the AAI.\r
-    SSLContext ctx = SSLContext.getInstance(SSL_PROTOCOL);\r
+    SSLContext ctx = SSLContext.getInstance(sslProtocol);\r
     KeyManagerFactory kmf = KeyManagerFactory.getInstance(KEYSTORE_ALGORITHM);\r
     KeyStore ks = KeyStore.getInstance(KEYSTORE_TYPE);\r
 \r