// Check to see if we need to perform proper validation of\r
// the certificate chains.\r
TrustManager[] trustAllCerts = null;\r
- if (validateServerCertChain) {\r
if (truststoreFilename != null) {\r
System.setProperty(TRUST_STORE_PROPERTY, truststoreFilename);\r
} else {\r
throw new IllegalArgumentException("Trust store filename must be set!");\r
}\r
\r
- } else {\r
-\r
- // We aren't validating certificates, so create a trust manager that does\r
- // not validate certificate chains.\r
- trustAllCerts = new TrustManager[] {new X509TrustManager() {\r
- public X509Certificate[] getAcceptedIssuers() {\r
- return null;\r
- }\r
-\r
- public void checkClientTrusted(X509Certificate[] certs, String authType) {}\r
-\r
- public void checkServerTrusted(X509Certificate[] certs, String authType) {}\r
- }};\r
- }\r
-\r
// Set up the SSL context, keystore, etc. to use for our connection\r
// to the AAI.\r
SSLContext ctx = SSLContext.getInstance(sslProtocol);\r
restClientBuilder.setReadTimeoutInMs(54321);\r
restClientBuilder.setBasicAuthUsername("username");\r
restClientBuilder.setBasicAuthPassword("password");\r
+ restClientBuilder.setTruststoreFilename("truststore");\r
\r
Client client = restClientBuilder.getClient();\r
\r
\r
}\r
\r
- @Test\r
+ @Test (expected=IllegalArgumentException.class)\r
public void validateSslCertClient_noHostOrCertChainValidation() throws Exception {\r
\r
RestClientBuilder restClientBuilder = new RestClientBuilder();\r
restClientBuilder.setValidateServerCertChain(false);\r
restClientBuilder.setValidateServerHostname(false);\r
\r
- Client client = restClientBuilder.getClient();\r
- \r
- Object sslPropertiesObj = client.getProperties().get(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES);\r
- HTTPSProperties sslProps = null;\r
- if ( sslPropertiesObj instanceof HTTPSProperties ) {\r
- sslProps = (HTTPSProperties)sslPropertiesObj;\r
- assertNotNull(sslProps.getHostnameVerifier());\r
- } else {\r
- fail("Unexpected value for https properties object");\r
- } }\r
+ Client client = restClientBuilder.getClient(); \r
+ }\r
\r
- @Test\r
+ @Test (expected=IllegalArgumentException.class)\r
public void validateSslCertClient_hostOnlyValidation() throws Exception {\r
\r
RestClientBuilder restClientBuilder = new RestClientBuilder();\r
\r
Client client = restClientBuilder.getClient();\r
\r
- Object sslPropertiesObj = client.getProperties().get(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES);\r
- HTTPSProperties sslProps = null;\r
- if ( sslPropertiesObj instanceof HTTPSProperties ) {\r
- sslProps = (HTTPSProperties)sslPropertiesObj;\r
- assertNull(sslProps.getHostnameVerifier());\r
- } else {\r
- fail("Unexpected value for https properties object");\r
- }\r
- }\r
+ }\r
\r
@Test\r
public void validateSslCertClient_certChainOnlyValidation() throws Exception {\r