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
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
private RestAuthenticationMode authenticationMode;\r
private String basicAuthUsername;\r
private String basicAuthPassword;\r
+ private String sslProtocol;\r
\r
/**\r
* Rest Client Builder.\r
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
this.readTimeoutInMs = readTimeoutInMs;\r
}\r
\r
-\r
-\r
public RestAuthenticationMode getAuthenticationMode() {\r
return authenticationMode;\r
}\r
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
\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