I think you may want to extend SoftLayerHttpApiModule to configure `OkHttpClientSupplier` similarly to [1] which uses [2] and inject it in your BlobStoreContext [1]: https://github.com/jclouds/jclouds/blob/master/apis/docker/src/main/java/org/jclouds/docker/config/DockerHttpApiModule.java#L44 [2]: https://github.com/jclouds/jclouds/blob/master/apis/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
I couldn't test the solution but I'd start from there Please let us know, as eventually we may need to improve softlayer to support natively TLSv1.2 BTW, which java version are you using? Andrea On Fri, Apr 13, 2018 at 4:03 PM Pratheesh <pratheesh...@teknowmics.com> wrote: > Hi Andrea, > > > > Please let me know any location or sample URL that I can see a sample. > > > > However I already tried with following sample code.. > > > > System.setProperty("https.protocols", "TLSv1.2"); > > System.setProperty("jdk.tls.client.protocols", > "TLSv1,TLSv1.1,TLSv1.2"); > > Module tlsModule = new AbstractModule() { > > @Override > > protected void configure() { > > > bind(OkHttpClientSupplier.class).to(TLSOkHttpClientSupplier.class); > > } > > }; > > Iterable<Module> modules1 = ImmutableSet.of(tlsModule, new > OkHttpCommandExecutorServiceModule()); > > BlobStoreContext context = ContextBuilder.newBuilder("swift") > > .modules(modules1) > > .endpoint("https://tok02.objectstorage.softlayer.net/auth/ > ") > > .credentials("userId", "pwd") > > .buildView(BlobStoreContext.class); > > > > > > This gives me following error: > > > > Exception in thread "main" org.jclouds.http.HttpResponseException: > sun.security.validator.ValidatorException: PKIX path building failed: > sun.security.provider.certpath.SunCertPathBuilderException: unable to find > valid certification path to requested target connecting to GET > https://tok02.objectstorage.softlayer.net/auth/v1.0 HTTP/1.1 > > at > org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:117) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37) > > at com.sun.proxy.$Proxy47.invoke(Unknown Source) > > …. > > …. > > Exception in thread "main" org.jclouds.http.HttpResponseException: > sun.security.validator.ValidatorException: PKIX path building failed: > sun.security.provider.certpath.SunCertPathBuilderException: unable to find > valid certification path to requested target connecting to GET > https://tok02.objectstorage.softlayer.net/auth/v1.0 HTTP/1.1 > > at > org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:117) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:491) > > at > com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37) > > at com.sun.proxy.$Proxy47.invoke(Unknown Source) > > … > > > > Caused by: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > > at > sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:144) > > at > sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:130) > > at > java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) > > at > sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) > > > > *From:* Andrea Turli [mailto:andrea.tu...@gmail.com] > *Sent:* Friday, April 13, 2018 6:27 PM > *To:* user@jclouds.apache.org > *Subject:* Re: Upgrading to TLSv1.2 in Jcloud... > > > > Hi, > > > > Pretty sure that jclouds can support your scenario by injecting > OkHttpClientDriver in the context. > > See Docker provider for an example > > > > HTH, > > Andrea > > > > Il ven 13 apr 2018, 14:41 Pratheesh <pratheesh...@teknowmics.com> ha > scritto: > > We are using JClouds 1.9.1 to upload files to Softlayer. Recently > softlayer upgraded to TLSv1.2. So our existing code is failing. > > > > What we have to change in Jclouds to support TLSv1.2, so that it can > upload files to Softlayer. > > > > Regards > > Pratheesh > >