From 95ea1eeaf344e99c4b87acc81d58cc94391faffd Mon Sep 17 00:00:00 2001 From: Kanstantsin Shautsou Date: Mon, 6 Jun 2016 02:17:01 +0300 Subject: [PATCH 1/2] Expose sslcontext after it was set. --- .../dockerjava/api/command/DockerCmdExecFactory.java | 4 ++++ .../github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java | 5 +++++ .../github/dockerjava/netty/DockerCmdExecFactoryImpl.java | 5 +++++ .../github/dockerjava/core/TestDockerCmdExecFactory.java | 7 +++++++ 4 files changed, 21 insertions(+) diff --git a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java index ae090e434..a778255e8 100644 --- a/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java +++ b/src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java @@ -3,6 +3,7 @@ import java.io.Closeable; import java.io.IOException; +import javax.annotation.CheckForNull; import javax.net.ssl.SSLContext; import com.github.dockerjava.core.DockerClientConfig; @@ -119,6 +120,9 @@ public interface DockerCmdExecFactory extends Closeable { DockerCmdExecFactory withSSLContext(SSLContext sslContext); + @CheckForNull + SSLContext getSSLContext(); + @Override void close() throws IOException; diff --git a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java index 5d489bbc5..7f9a95d13 100644 --- a/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java +++ b/src/main/java/com/github/dockerjava/jaxrs/DockerCmdExecFactoryImpl.java @@ -535,6 +535,11 @@ public DockerCmdExecFactoryImpl withSSLContext(SSLContext sslContext) { return this; } + @Override + public SSLContext getSSLContext() { + return sslContext; + } + public DockerCmdExecFactoryImpl withReadTimeout(Integer readTimeout) { this.readTimeout = readTimeout; return this; diff --git a/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java b/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java index 8f704c7af..62688f702 100644 --- a/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java +++ b/src/main/java/com/github/dockerjava/netty/DockerCmdExecFactoryImpl.java @@ -583,6 +583,11 @@ public DockerCmdExecFactory withSSLContext(SSLContext sslContext) { return this; } + @Override + public SSLContext getSSLContext() { + return sslContext; + } + private WebTarget getBaseResource() { return new WebTarget(channelProvider); } diff --git a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java index aee8a60a8..d3c816e40 100644 --- a/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java +++ b/src/test/java/com/github/dockerjava/core/TestDockerCmdExecFactory.java @@ -58,6 +58,7 @@ import com.github.dockerjava.api.command.WaitContainerCmd; import com.github.dockerjava.api.model.BuildResponseItem; +import javax.annotation.CheckForNull; import javax.net.ssl.SSLContext; import java.io.IOException; import java.security.SecureRandom; @@ -436,4 +437,10 @@ public List getNetworkIds() { public DockerCmdExecFactory withSSLContext(SSLContext sslContext) { return delegate.withSSLContext(sslContext); } + + @CheckForNull + @Override + public SSLContext getSSLContext() { + return delegate.getSSLContext(); + } } From bc94435d617d0e26614f53d61fae76bfede57c9b Mon Sep 17 00:00:00 2001 From: Kanstantsin Shautsou Date: Tue, 7 Jun 2016 00:38:47 +0300 Subject: [PATCH 2/2] Don't verify dockerCertPath. SSL can be set without FS. --- .../java/com/github/dockerjava/core/DockerClientConfig.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/dockerjava/core/DockerClientConfig.java b/src/main/java/com/github/dockerjava/core/DockerClientConfig.java index 31cfc0c58..d2c5fe2cf 100644 --- a/src/main/java/com/github/dockerjava/core/DockerClientConfig.java +++ b/src/main/java/com/github/dockerjava/core/DockerClientConfig.java @@ -102,8 +102,9 @@ private URI checkDockerHostScheme(URI dockerHost) { private String checkDockerCertPath(boolean dockerTlsVerify, String dockerCertPath) { if (dockerTlsVerify) { if (StringUtils.isEmpty(dockerCertPath)) { - throw new DockerClientException( - "Enabled TLS verification (DOCKER_TLS_VERIFY=1) but certifate path (DOCKER_CERT_PATH) is not defined."); + return dockerCertPath; +// throw new DockerClientException( +// "Enabled TLS verification (DOCKER_TLS_VERIFY=1) but certifate path (DOCKER_CERT_PATH) is not defined."); } else { File certPath = new File(dockerCertPath);