use of javax.ws.rs.client.Client in project dropwizard by dropwizard.
the class DropwizardSSLConnectionSocketFactoryTest method shouldErrorIfServerCertNotFoundInTruststore.
@Test
public void shouldErrorIfServerCertNotFoundInTruststore() throws Exception {
tlsConfiguration.setTrustStorePath(new File(ResourceHelpers.resourceFilePath("stores/server/other_cert_truststore.ts")));
final Client client = new JerseyClientBuilder(TLS_APP_RULE.getEnvironment()).using(jerseyClientConfiguration).build("tls_broken_client");
assertThatThrownBy(() -> client.target(String.format("https://localhost:%d", TLS_APP_RULE.getLocalPort())).request().get()).isInstanceOf(ProcessingException.class).hasCauseInstanceOf(SSLHandshakeException.class);
}
use of javax.ws.rs.client.Client in project dropwizard by dropwizard.
the class DropwizardSSLConnectionSocketFactoryTest method shouldNotErrorIfServerCertSelfSignedAndSelfSignedCertsAllowed.
@Test
public void shouldNotErrorIfServerCertSelfSignedAndSelfSignedCertsAllowed() throws Exception {
tlsConfiguration.setTrustSelfSignedCertificates(true);
final Client client = new JerseyClientBuilder(TLS_APP_RULE.getEnvironment()).using(jerseyClientConfiguration).build("self_sign_permitted");
final Response response = client.target(String.format("https://localhost:%d", TLS_APP_RULE.getTestSupport().getPort(1))).request().get();
assertThat(response.getStatus()).isEqualTo(200);
}
use of javax.ws.rs.client.Client in project dropwizard by dropwizard.
the class DropwizardSSLConnectionSocketFactoryTest method shouldErrorIfHostnameVerificationOnAndServerHostnameMatchesAndFailVerifierSpecified.
@Test
public void shouldErrorIfHostnameVerificationOnAndServerHostnameMatchesAndFailVerifierSpecified() throws Exception {
final Client client = new JerseyClientBuilder(TLS_APP_RULE.getEnvironment()).using(jerseyClientConfiguration).using(new FailVerifier()).build("bad_host_broken_fail_verifier");
final Throwable exn = catchThrowable(() -> client.target(String.format("https://localhost:%d", TLS_APP_RULE.getLocalPort())).request().get());
assertThat(exn).hasCauseExactlyInstanceOf(SSLPeerUnverifiedException.class);
assertThat(exn.getCause()).hasMessage("Certificate for <localhost> doesn't match any of the subject alternative names: []");
}
use of javax.ws.rs.client.Client in project dropwizard by dropwizard.
the class DropwizardSSLConnectionSocketFactoryTest method shouldErrorIfHostnameVerificationOnAndServerHostnameDoesntMatch.
@Test
public void shouldErrorIfHostnameVerificationOnAndServerHostnameDoesntMatch() throws Exception {
final Client client = new JerseyClientBuilder(TLS_APP_RULE.getEnvironment()).using(jerseyClientConfiguration).build("bad_host_broken");
final Throwable exn = catchThrowable(() -> client.target(String.format("https://localhost:%d", TLS_APP_RULE.getPort(3))).request().get());
assertThat(exn).hasCauseExactlyInstanceOf(SSLPeerUnverifiedException.class);
assertThat(exn.getCause()).hasMessage("Certificate for <localhost> doesn't match any of the subject alternative names: []");
}
use of javax.ws.rs.client.Client in project dropwizard by dropwizard.
the class DropwizardSSLConnectionSocketFactoryTest method shouldErrorIfClientAuthFails.
@Test
public void shouldErrorIfClientAuthFails() throws Exception {
tlsConfiguration.setKeyStorePath(new File(ResourceHelpers.resourceFilePath("stores/server/self_sign_keycert.p12")));
tlsConfiguration.setKeyStorePassword("password");
tlsConfiguration.setKeyStoreType("PKCS12");
final Client client = new JerseyClientBuilder(TLS_APP_RULE.getEnvironment()).using(jerseyClientConfiguration).build("client_auth_broken");
final Throwable exn = catchThrowable(() -> client.target(String.format("https://localhost:%d", TLS_APP_RULE.getPort(2))).request().get());
assertThat(exn).isInstanceOf(ProcessingException.class);
assertThat(exn.getCause()).isInstanceOfAny(SocketException.class, SSLHandshakeException.class);
}
Aggregations