This is an automated email from the ASF dual-hosted git repository. gaul pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jclouds.git
commit d74dcca6dd109b22dbb7dd43b7dd21c4df002292 Author: korlov42 <[email protected]> AuthorDate: Fri Oct 9 20:24:11 2020 +0300 fix UnsupportedOperationException during setting socketFactory --- core/src/main/java/org/jclouds/http/config/SSLModule.java | 1 + .../http/okhttp/config/OkHttpCommandExecutorServiceModule.java | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/jclouds/http/config/SSLModule.java b/core/src/main/java/org/jclouds/http/config/SSLModule.java index 19b85de..f2ce7c1 100644 --- a/core/src/main/java/org/jclouds/http/config/SSLModule.java +++ b/core/src/main/java/org/jclouds/http/config/SSLModule.java @@ -46,6 +46,7 @@ public class SSLModule extends AbstractModule { bind(new TypeLiteral<Supplier<SSLContext>>() { }).annotatedWith(Names.named("untrusted")).to(new TypeLiteral<UntrustedSSLContextSupplier>() { }); + bind(X509TrustManager.class).annotatedWith(Names.named("untrusted")).to(TrustAllCerts.class); } /** diff --git a/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/config/OkHttpCommandExecutorServiceModule.java b/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/config/OkHttpCommandExecutorServiceModule.java index 1958e66..40cd85d 100644 --- a/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/config/OkHttpCommandExecutorServiceModule.java +++ b/drivers/okhttp/src/main/java/org/jclouds/http/okhttp/config/OkHttpCommandExecutorServiceModule.java @@ -21,6 +21,7 @@ import java.util.concurrent.TimeUnit; import javax.inject.Named; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; +import javax.net.ssl.X509TrustManager; import okhttp3.OkHttpClient; @@ -56,15 +57,19 @@ public class OkHttpCommandExecutorServiceModule extends AbstractModule { private static final class OkHttpClientProvider implements Provider<OkHttpClient> { private final HostnameVerifier verifier; private final Supplier<SSLContext> untrustedSSLContextProvider; + private final X509TrustManager trustAllCertsManager; private final HttpUtils utils; private final OkHttpClientSupplier clientSupplier; @Inject OkHttpClientProvider(HttpUtils utils, @Named("untrusted") HostnameVerifier verifier, - @Named("untrusted") Supplier<SSLContext> untrustedSSLContextProvider, OkHttpClientSupplier clientSupplier) { + @Named("untrusted") Supplier<SSLContext> untrustedSSLContextProvider, + @Named("untrusted") X509TrustManager trustAllCertsManager, + OkHttpClientSupplier clientSupplier) { this.utils = utils; this.verifier = verifier; this.untrustedSSLContextProvider = untrustedSSLContextProvider; + this.trustAllCertsManager = trustAllCertsManager; this.clientSupplier = clientSupplier; } @@ -82,7 +87,7 @@ public class OkHttpCommandExecutorServiceModule extends AbstractModule { clientBuilder.hostnameVerifier(verifier); } if (utils.trustAllCerts()) { - clientBuilder.sslSocketFactory(untrustedSSLContextProvider.get().getSocketFactory()); + clientBuilder.sslSocketFactory(untrustedSSLContextProvider.get().getSocketFactory(), trustAllCertsManager); } return clientBuilder.build();
