use of com.github.tomakehurst.wiremock.common.ssl.KeyStoreSettings in project wiremock by wiremock.
the class CommandLineOptionsTest method defaultsCaKeyStorePathAndPassword.
@Test
public void defaultsCaKeyStorePathAndPassword() {
CommandLineOptions options = new CommandLineOptions("--enable-browser-proxying");
KeyStoreSettings caKeyStore = options.browserProxySettings().caKeyStore();
assertThat(caKeyStore.path(), is(DEFAULT_CA_KEYSTORE_PATH));
assertThat(caKeyStore.password(), is(DEFAULT_CA_KESTORE_PASSWORD));
assertThat(caKeyStore.type(), is("jks"));
}
use of com.github.tomakehurst.wiremock.common.ssl.KeyStoreSettings in project wiremock by wiremock.
the class HttpClientFactory method createClient.
public static CloseableHttpClient createClient(int maxConnections, int timeoutMilliseconds, ProxySettings proxySettings, KeyStoreSettings trustStoreSettings, boolean trustSelfSignedCertificates, final List<String> trustedHosts, boolean useSystemProperties) {
HttpClientBuilder builder = HttpClientBuilder.create().disableAuthCaching().disableAutomaticRetries().disableCookieManagement().disableRedirectHandling().disableContentCompression().setConnectionManager(PoolingHttpClientConnectionManagerBuilder.create().setMaxConnPerRoute(maxConnections).setMaxConnTotal(maxConnections).setValidateAfterInactivity(// TODO Verify duration
TimeValue.ofSeconds(5)).setConnectionFactory(new ManagedHttpClientConnectionFactory(null, CharCodingConfig.custom().setCharset(UTF_8).build(), null)).build()).setDefaultRequestConfig(RequestConfig.custom().setResponseTimeout(Timeout.ofMilliseconds(timeoutMilliseconds)).build()).setConnectionReuseStrategy((request, response, context) -> false).setKeepAliveStrategy((response, context) -> TimeValue.ZERO_MILLISECONDS);
if (useSystemProperties) {
builder.useSystemProperties();
}
if (proxySettings != NO_PROXY) {
HttpHost proxyHost = new HttpHost(proxySettings.host(), proxySettings.port());
builder.setProxy(proxyHost);
if (!isEmpty(proxySettings.getUsername()) && !isEmpty(proxySettings.getPassword())) {
// TODO Verify
builder.setProxyAuthenticationStrategy(new DefaultAuthenticationStrategy());
BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(new AuthScope(proxySettings.host(), proxySettings.port()), new UsernamePasswordCredentials(proxySettings.getUsername(), proxySettings.getPassword().toCharArray()));
builder.setDefaultCredentialsProvider(credentialsProvider);
}
}
final SSLContext sslContext = buildSslContext(trustStoreSettings, trustSelfSignedCertificates, trustedHosts);
LayeredConnectionSocketFactory sslSocketFactory = buildSslConnectionSocketFactory(sslContext);
PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder.create().setSSLSocketFactory(sslSocketFactory).build();
builder.setConnectionManager(connectionManager);
return builder.build();
}
Aggregations