From 2110432245ec25996ecc961e5b79246dff039660 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Fri, 13 Feb 2026 08:56:38 +0530 Subject: [PATCH 1/5] Fix gh-49205 Signed-off-by: itsmevichu --- ...ssandraDockerComposeConnectionDetailsFactory.java | 11 +++++++++++ ...csearchDockerComposeConnectionDetailsFactory.java | 12 +++++++++++- .../MongoDockerComposeConnectionDetailsFactory.java | 11 +++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactory.java b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactory.java index 0a35a2712e84..699403b62acf 100644 --- a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactory.java @@ -18,10 +18,13 @@ import java.util.List; +import org.jspecify.annotations.Nullable; + import org.springframework.boot.cassandra.autoconfigure.CassandraConnectionDetails; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; +import org.springframework.boot.ssl.SslBundle; /** * {@link DockerComposeConnectionDetailsFactory} to create @@ -54,11 +57,19 @@ static class CassandraDockerComposeConnectionDetails extends DockerComposeConnec private final String datacenter; + private final @Nullable SslBundle sslBundle; + CassandraDockerComposeConnectionDetails(RunningService service) { super(service); CassandraEnvironment cassandraEnvironment = new CassandraEnvironment(service.env()); this.contactPoints = List.of(new Node(service.host(), service.ports().get(CASSANDRA_PORT))); this.datacenter = cassandraEnvironment.getDatacenter(); + this.sslBundle = getSslBundle(service); + } + + @Override + public @Nullable SslBundle getSslBundle() { + return this.sslBundle; } @Override diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java index a23e05698c88..428719d2d5ba 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactory.java @@ -25,6 +25,7 @@ import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchConnectionDetails; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchConnectionDetails.Node.Protocol; +import org.springframework.boot.ssl.SslBundle; /** * {@link DockerComposeConnectionDetailsFactory} to create @@ -60,13 +61,22 @@ static class ElasticsearchDockerComposeConnectionDetails extends DockerComposeCo private final List nodes; + private final @Nullable SslBundle sslBundle; + ElasticsearchDockerComposeConnectionDetails(RunningService service) { super(service); this.environment = new ElasticsearchEnvironment(service.env()); - this.nodes = List.of(new Node(service.host(), service.ports().get(ELASTICSEARCH_PORT), Protocol.HTTP, + this.sslBundle = getSslBundle(service); + Protocol protocol = (this.sslBundle != null) ? Protocol.HTTPS : Protocol.HTTP; + this.nodes = List.of(new Node(service.host(), service.ports().get(ELASTICSEARCH_PORT), protocol, getUsername(), getPassword())); } + @Override + public @Nullable SslBundle getSslBundle() { + return this.sslBundle; + } + @Override public String getUsername() { return "elastic"; diff --git a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java index a062e57519a5..dc28008c7ee5 100644 --- a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java @@ -16,12 +16,15 @@ package org.springframework.boot.mongodb.docker.compose; +import org.jspecify.annotations.Nullable; + import com.mongodb.ConnectionString; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; import org.springframework.boot.mongodb.autoconfigure.MongoConnectionDetails; +import org.springframework.boot.ssl.SslBundle; /** * {@link DockerComposeConnectionDetailsFactory} to create {@link MongoConnectionDetails} @@ -54,8 +57,11 @@ static class MongoDockerComposeConnectionDetails extends DockerComposeConnection private final ConnectionString connectionString; + private final @Nullable SslBundle sslBundle; + MongoDockerComposeConnectionDetails(RunningService service) { super(service); + this.sslBundle = getSslBundle(service); this.connectionString = buildConnectionString(service); } @@ -80,6 +86,11 @@ private ConnectionString buildConnectionString(RunningService service) { return new ConnectionString(builder.toString()); } + @Override + public @Nullable SslBundle getSslBundle() { + return this.sslBundle; + } + @Override public ConnectionString getConnectionString() { return this.connectionString; From 2f723251142fccd673432b1012075b706269b868 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Fri, 13 Feb 2026 09:57:19 +0530 Subject: [PATCH 2/5] Fix checkstyle issue Signed-off-by: itsmevichu --- .../compose/MongoDockerComposeConnectionDetailsFactory.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java index dc28008c7ee5..407f45c89115 100644 --- a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactory.java @@ -16,9 +16,8 @@ package org.springframework.boot.mongodb.docker.compose; -import org.jspecify.annotations.Nullable; - import com.mongodb.ConnectionString; +import org.jspecify.annotations.Nullable; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; From a9ad523a2eb92a6f92c28ea0271a01aae43ca902 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Tue, 17 Feb 2026 23:07:41 +0530 Subject: [PATCH 3/5] Add getSslBundle implementation to RabbitDockerComposeConnectionDetails Signed-off-by: itsmevichu --- .../RabbitDockerComposeConnectionDetailsFactory.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactory.java b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactory.java index a5564994cb76..daa79344ae75 100644 --- a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactory.java +++ b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactory.java @@ -25,6 +25,7 @@ import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; +import org.springframework.boot.ssl.SslBundle; /** * {@link DockerComposeConnectionDetailsFactory} to create @@ -63,9 +64,12 @@ static class RabbitDockerComposeConnectionDetails extends DockerComposeConnectio private final List
addresses; + private final @Nullable SslBundle sslBundle; + protected RabbitDockerComposeConnectionDetails(RunningService service) { super(service); this.environment = new RabbitEnvironment(service.env()); + this.sslBundle = getSslBundle(service); this.addresses = List.of(new Address(service.host(), service.ports().get(RABBITMQ_PORT))); } @@ -79,6 +83,11 @@ protected RabbitDockerComposeConnectionDetails(RunningService service) { return this.environment.getPassword(); } + @Override + public @Nullable SslBundle getSslBundle() { + return this.sslBundle; + } + @Override public String getVirtualHost() { return "/"; From 4ed27dd125bb13cce95f29b18e443820830b9b70 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Sat, 21 Feb 2026 00:57:57 +0530 Subject: [PATCH 4/5] Add docker-compose test to verify connectionDetails with ssl Signed-off-by: itsmevichu --- ...nectionDetailsFactoryIntegrationTests.java | 12 ++++ .../boot/amqp/docker/compose/ca.crt | 32 +++++++++++ .../boot/amqp/docker/compose/client.crt | 26 +++++++++ .../boot/amqp/docker/compose/client.key | 28 +++++++++ .../docker/compose/rabbit-ssl-compose.yaml | 26 +++++++++ .../boot/amqp/docker/compose/rabbitmq.conf | 8 +++ .../boot/amqp/docker/compose/server.crt | 26 +++++++++ .../boot/amqp/docker/compose/server.key | 28 +++++++++ ...nectionDetailsFactoryIntegrationTests.java | 12 ++++ .../docker/compose/cassandra-ssl-compose.yaml | 34 +++++++++++ .../docker/compose/client-keystore.p12 | Bin 0 -> 2944 bytes .../docker/compose/client-truststore.p12 | Bin 0 -> 1782 bytes .../docker/compose/server-keystore.p12 | Bin 0 -> 2928 bytes .../docker/compose/server-truststore.p12 | Bin 0 -> 1782 bytes ...nectionDetailsFactoryIntegrationTests.java | 24 ++++++-- .../boot/elasticsearch/docker/compose/ca.crt | 32 +++++++++++ .../elasticsearch/docker/compose/client.crt | 26 +++++++++ .../elasticsearch/docker/compose/client.key | 28 +++++++++ .../compose/elasticsearch-ssl-compose.yaml | 32 +++++++++++ .../elasticsearch/docker/compose/server.crt | 26 +++++++++ .../elasticsearch/docker/compose/server.key | 28 +++++++++ ...nectionDetailsFactoryIntegrationTests.java | 12 ++++ .../boot/mongodb/docker/compose/ca.crt | 32 +++++++++++ .../boot/mongodb/docker/compose/client.crt | 26 +++++++++ .../boot/mongodb/docker/compose/client.key | 28 +++++++++ .../docker/compose/mongo-ssl-compose.yaml | 28 +++++++++ .../boot/mongodb/docker/compose/mongo.pem | 54 ++++++++++++++++++ 27 files changed, 603 insertions(+), 5 deletions(-) create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/ca.crt create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.crt create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.key create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbit-ssl-compose.yaml create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbitmq.conf create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.crt create mode 100644 module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.key create mode 100644 module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/cassandra-ssl-compose.yaml create mode 100644 module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/client-keystore.p12 create mode 100644 module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/client-truststore.p12 create mode 100644 module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-keystore.p12 create mode 100644 module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-truststore.p12 create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/ca.crt create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/client.crt create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/client.key create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/elasticsearch-ssl-compose.yaml create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/server.crt create mode 100644 module/spring-boot-elasticsearch/src/dockerTest/resources/org/springframework/boot/elasticsearch/docker/compose/server.key create mode 100644 module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/ca.crt create mode 100644 module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/client.crt create mode 100644 module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/client.key create mode 100644 module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/mongo-ssl-compose.yaml create mode 100644 module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/mongo.pem diff --git a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java index fbf86b3889dd..16b3b180f5a9 100644 --- a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,9 +16,12 @@ package org.springframework.boot.amqp.docker.compose; +import javax.net.ssl.SSLContext; + import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails; import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; +import org.springframework.boot.ssl.SslBundle; import org.springframework.boot.testsupport.container.TestImage; import static org.assertj.core.api.Assertions.assertThat; @@ -36,6 +39,15 @@ class RabbitDockerComposeConnectionDetailsFactoryIntegrationTests { @DockerComposeTest(composeFile = "rabbit-compose.yaml", image = TestImage.RABBITMQ) void runCreatesConnectionDetails(RabbitConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails); + assertThat(connectionDetails.getSslBundle()).isNull(); + } + + @DockerComposeTest(composeFile = "rabbit-ssl-compose.yaml", image = TestImage.RABBITMQ, + additionalResources = { "ca.crt", "server.crt", "server.key", "client.crt", "client.key", "rabbitmq.conf" }) + void runWithSslCreatesConnectionDetails(RabbitConnectionDetails connectionDetails) { + assertConnectionDetails(connectionDetails); + SslBundle sslBundle = connectionDetails.getSslBundle(); + assertThat(sslBundle).isNotNull(); } private void assertConnectionDetails(RabbitConnectionDetails connectionDetails) { diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/ca.crt b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/ca.crt new file mode 100644 index 000000000000..beed250b132b --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/ca.crt @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFhjCCA26gAwIBAgIUfIkk29IT9OpbgfjL8oRIPSLjUcAwDQYJKoZIhvcNAQEL +BQAwOzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDEeMBwGA1UEAwwVQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MB4XDTI0MDUwMTE2NTMyNVoXDTM0MDQyOTE2NTMyNVow +OzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNh +dGUgQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAusN2 +KzQQUUxZSiI3ZZuZohFwq2KXSUNPdJ6rgD3/YKNTDSZXKZPO53kYPP0DXf0sm3CH +cyWSWVabyimZYuPWena1MElSL4ZpJ9WwkZoOQ3bPFK1utz6kMOwrgAUcky8H/rIK +j2JEBhkSHUIGr57NjUEwG1ygaSerM8RzWw1PtMq+C8LOu3v94qzE3NDg1QRpyvV9 +OmsLsjISd0ZmAJNi9vmiEH923KnPyiqnQmWKpYicdgQmX1GXylS22jZqAwaOkYGj +X8UdeyvrohkZkM0hn9uaSufQGEW4yKACn3PkjJtzi8drBIyjIi9YcAzBxZB9oVKq +XZMlltgO2fDMmIJi0Ngt0Ci7fCoEMqSocKyDKML6YLr9UWtx4bfsrk+rVO9Q/D/v +8RKgstv7dCf2KWRX3ZJEC0IBHS5gLNq0qqqVcGx3LcSyhdiKJOtSwAnNkHMh+jSQ +xLSlBjcSqTPiGTRK/Rddl+xnU/mBgk7ZBGNrUFaD5McMFjddS7Ih82aHnpQ1gekW +nUGv+Tm/G68h2BvZ5U2q+RfeOCgRW9i/AYW2jgT7IFnfjyUXgBQveauMAchomqFE +VLe95ZgViF6vmH34EKo3w9L5TQiwk/r53YlM7TSOTyDqx66t4zGYDsVMicpKmzi4 +2Rp8EpErARRyREUIKSvWs9O9+uT3+7arNLgHe5ECAwEAAaOBgTB/MB0GA1UdDgQW +BBRVMLDVqPECWaH6GruL9E52VcTrPjAfBgNVHSMEGDAWgBRVMLDVqPECWaH6GruL +9E52VcTrPjAPBgNVHRMBAf8EBTADAQH/MCwGA1UdEQQlMCOCC2V4YW1wbGUuY29t +gglsb2NhbGhvc3SCCTEyNy4wLjAuMTANBgkqhkiG9w0BAQsFAAOCAgEAeSpjCL3j +2GIFBNKr/5amLOYa0kZ6r1dJs+K6xvMsUvsBJ/QQsV5nYDMIoV/NYUd8SyYV4lEj +7LHX5ZbmJrvPk30LGEBG/5Vy2MIATrQrQ14S4nXtEdSnBvTQwPOOaHc+2dTp3YpM +f4ffELKWyispTifx1eqdiUJhURKeQBh+3W7zpyaiN4vJaqEDKGgFQtHA/OyZL2hZ +BpxHB0zpb2iDHV8MeyfOT7HQWUk6p13vdYm6EnyJT8fzWvE+TqYNbqFmB+CLRSXy +R3p1yaeTd4LnVknJ0UBKqEyul3ziHZDhKhBpwdglYOQz4eWjSFhikX9XZ8NaI38Q +QqLZVn0DsH2ztkjrQrUVgK2xn4aUuqoLDk4Hu6h5baUn+f2GLuzx+EXc/i3ikYvw +Y3JyufOgw6nGGFG+/QXEj85XtLPhN7Wm42z2e/BGzi0MLl65sfpEDXvFTA72Yzws +OYaeg/HxeYwUHQgs2fKl/LgV4chntSCvTqfNl6OnQafD/ISJNpx3xWR3HwF+ypFG +UaLE+e1soqEJbzL31U/6pypHLsj8Y8r9hJbZXo2ibnhjFV6fypUAP0rbIzaoWcrJ +T0Sbliz+KQTMzCcubiAi4bI/kZ5FJ4kkaHqUpIWzlx1h2WVJ65ASFDjBWb8eVmB6 +Dyno/RVFR/rUL5091gjGRXhLsi1oUHKdEzU= +-----END CERTIFICATE----- diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.crt b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.crt new file mode 100644 index 000000000000..811d880fcbd3 --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.crt @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEWjCCAkKgAwIBAgIURBZvq442tp+/K9TZII5Vy/LzVx0wDQYJKoZIhvcNAQEL +BQAwOzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDEeMBwGA1UEAwwVQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MB4XDTI0MDUwMTE2NTMyNVoXDTM0MDQyOTE2NTMyNVow +LzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDESMBAGA1UEAwwJbG9jYWxob3N0 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvGb7tu0odSuOjeY1lHlh +sRR4PayAvlryjfrrp49hjoVTiL3d/Jo6Po5HlqwJcYuclm0EWQR5Vur/zYJpfUE7 +b8+E9Qwe50+YzfQ2tVFEdq/VfqemrYRGee+pMelOCI90enOKCxfpo6EHbz+WnUP0 +mnD8OAF9QpolSdWAMOGJoPdWX65KQvyMXvQbj9VIHmsx7NCaIOYxjHXB/dI2FmXV ++m4VT6mb8he9dXmgK/ozMq6XIPOAXe0n3dlfMTSEddeNeVwnBpr/n5e0cpwGFhdf +NNu5CI4ecipBhXljJi/4/47M/6hd69HwE05C4zyH4ZDZ2JTfaSKOLV+jYdBUqJP5 +dwIDAQABo2IwYDALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4QgEBBAQDAgeAMB0GA1Ud +DgQWBBRWiWOo9cm2IF/ZlhWLVjifLzYa/DAfBgNVHSMEGDAWgBRVMLDVqPECWaH6 +GruL9E52VcTrPjANBgkqhkiG9w0BAQsFAAOCAgEAA5Wphtu2nBhY+QNOBOwXq4zF +N5qt2IYTLfR7xqpKhhXx9VkIjdPWpcsGuCuMmfPVNvQWE6iK0/jMMqToTj4H6K7e +MN74j0GwwcknT1P42tUzEpg8LKR8VMdhWhyqdniCDNWWuaz1iVSoF0S2i4jFSzH5 +1q3KMKMZ4niK5aJI0fAGa4fCjyuun1Mfg/qGBGwLnqDkIXjeAopZf4Jb64TtzjAs +j9NT6mYbe3E0tw3fHT9ihYdbZDZgSjeCsuq9OiRMVb0DWWmRoLmmOrlN8IJlHV/3 +WyI/ta4Cw5EZ0oaOg0lIyOxXyvElth1xIvh+kdqZSBsU0gNBri6ZIzYbbTh2KTTO +BJHQt9L5naWG27pDrIxBicWXS/MIYonktm3YgCLfuW3kWcVk8bIlNhfcoAYBBgfM +IEYSYEq+bH2IQ+YoWQz3AxjJ8gEuuSUP6R6mYY65FfpjkKgcpGBvw4EIAmqKDtPS +hlLY/F0XVj9KZzrMyH4/vonu+DAb/P7Zmt2fyk/dQO6bAc3ltRmJbJm4VJ2v/T8I +LVu2FtcUYgtLNtkWUPfdb3GSUUgkKlUpWSty31TKSUszJjW1oRykQhEko6o5U3S8 +ptQzXdApsb1lGOqewkubE25tIu2RLiNkKcjFOjJ/lu0vP9k76wWwRVnFLFvfo4lW +pgywiOifs5JbcCt0ZQ0= +-----END CERTIFICATE----- diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.key b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.key new file mode 100644 index 000000000000..2ae0f49bf4a4 --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/client.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC8Zvu27Sh1K46N +5jWUeWGxFHg9rIC+WvKN+uunj2GOhVOIvd38mjo+jkeWrAlxi5yWbQRZBHlW6v/N +gml9QTtvz4T1DB7nT5jN9Da1UUR2r9V+p6athEZ576kx6U4Ij3R6c4oLF+mjoQdv +P5adQ/SacPw4AX1CmiVJ1YAw4Ymg91ZfrkpC/Ixe9BuP1UgeazHs0Jog5jGMdcH9 +0jYWZdX6bhVPqZvyF711eaAr+jMyrpcg84Bd7Sfd2V8xNIR11415XCcGmv+fl7Ry +nAYWF18027kIjh5yKkGFeWMmL/j/jsz/qF3r0fATTkLjPIfhkNnYlN9pIo4tX6Nh +0FSok/l3AgMBAAECggEABXnBe3MwXAMQENzNypOiXK4VE3XMYkePfdsSK163byOD +w3ZeTgQNfU4g8LJK8/homzO0SQIJAdz2+ZFbpsp4A2W2zJ+1jvN5RuX/8/UcVhmk +tb1IL/LWCvx5/aoYBWkgIA70UfQJa2jDbdM0v5j/Gu9yE7GI14jh6DFC3xGMGV3b +fOwManxf7sDibCI1nGjnFYNGxninRr+tpb+a1KNbVzhett68LrgPmtph6B3HCPAJ +zBigk1Phgb8WHozTXxnLyw9/RdKJ0Ro4PFmtQv0EvCSlytptnF+0nXkqr3f851XS +bUWwYFchIFWPMhPfD5B3niNWCV42/sU/bQlk+BMQAQKBgQD6NvMq8EdYy2Y7fXT5 +FgB4s+7EkLgI2d5LUaCXCFgc6iZtCTQKUXj1rIWeRfGrFVCCe8qV+XIMKt/G5eEi +tn5ifHhktA2A8GK1scj026qHP3bVn0hMaUnkCF1UpDRKPiEO5G/apPtav8PbCNaX +GAimLGw+WZNZuv7+T33bEBeUdwKBgQDAwiidayLXkRkz2deefdDKcXQsB7RHFGGy +vfZPBCGqizxml+6ojJkkDsVUKL1IXFfyK9KpQAI6tezn4oktgu4jAQqkYY7QZobs +RpQx1dR+KxEm7ISDBTq/B1Q9cFKUKVvQQy8N2pnIbCdzb6MTOKLmJqFGTjr+5T8q +F32B5vkDAQKBgDCKfH42AwFc5EZiPlEcTZcdARMtKCa/bXqbKVZjjgR+AFpi0K+3 +womWoI1l8E5KYkYOEe0qaU+m+aaybgy37qjYkNqoe34qJFwvU1b9ToXScBFdRz9b +pbQRU1naSTKl/u/OrUxzeTfPwAU8H7VMOlFSiOVHp2he+J0JetcGtixdAoGBAIJQ +QMj7rxhxHcqyEVUy1b6nKNTDeJs9Kjd+uU/+CQyVCQaK3GvScY2w9rLIv/51f3dX +LRoDDf7HExxJSFgeVgQQJjOvSK+XQMvngzSVzQxm7TeVWpiBJpAS0l6e2xUTSODp +KpyBFsoqZBlkdaj+9xIFN66iILxGG4fHTbBOiDYBAoGBAOZMKjM5N/hGcCmik/6t +p/zBA2pN9O6zwPndITTsdyVWSlVqCZhXlRX47CerAN+/WVCidlh7Vp5Tuy75Wa77 +v16IDLO01txgWNobcLaM4VgFsyLi5JuxK73S18Vb1cKWdHFRF0LH3cUIq20fjpv6 +Odl4vjNOncXMZCLPHQ+bKWaf +-----END PRIVATE KEY----- diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbit-ssl-compose.yaml b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbit-ssl-compose.yaml new file mode 100644 index 000000000000..f0f57dc65a58 --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbit-ssl-compose.yaml @@ -0,0 +1,26 @@ +services: + rabbitmq: + image: '{imageName}' + ports: + - '5672' + - '5671' + secrets: + - ssl-ca + - ssl-key + - ssl-cert + environment: + RABBITMQ_DEFAULT_USER: myuser + RABBITMQ_DEFAULT_PASS: secret + volumes: + - ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro + labels: + - 'org.springframework.boot.sslbundle.pem.keystore.certificate=client.crt' + - 'org.springframework.boot.sslbundle.pem.keystore.private-key=client.key' + - 'org.springframework.boot.sslbundle.pem.truststore.certificate=ca.crt' +secrets: + ssl-ca: + file: 'ca.crt' + ssl-key: + file: 'server.key' + ssl-cert: + file: 'server.crt' \ No newline at end of file diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbitmq.conf b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbitmq.conf new file mode 100644 index 000000000000..55b842131ca6 --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/rabbitmq.conf @@ -0,0 +1,8 @@ +listeners.ssl.default=5671 + +ssl_options.cacertfile=/run/secrets/ssl-ca +ssl_options.certfile=/run/secrets/ssl-cert +ssl_options.keyfile=/run/secrets/ssl-key + +ssl_options.verify=verify_peer +ssl_options.fail_if_no_peer_cert=true diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.crt b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.crt new file mode 100644 index 000000000000..57c66cc78a3b --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.crt @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEWjCCAkKgAwIBAgIURBZvq442tp+/K9TZII5Vy/LzVxwwDQYJKoZIhvcNAQEL +BQAwOzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDEeMBwGA1UEAwwVQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MB4XDTI0MDUwMTE2NTMyNVoXDTM0MDQyOTE2NTMyNVow +LzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDESMBAGA1UEAwwJbG9jYWxob3N0 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsllxsSQzTTJlNHMfXC2b +CIXCPsfCgCBl7FbPz828jwJk+EYcXh0+WTFGks0WxSwb8NQza5UtyCUDEueZj9fV +j5mWBY97WCu01Sl/3xClHmYisXfyyv27GKec7PaSOurCm2JDkyHRNumiJROa4jte +N0GOHzw7FYsM3779TuNw14/gtW+eBrGnvgrpU7fbUvx42Di6ftGYQUwIi+3uIaqT +//i7ktDMaAQJtkL6haTzZ5JN2qKO5a34/WRz/ApvPw3lpDV8c4qoTk3C0Bg9MP+a +DnZtjtLBSN9CJWwr+n11QaMgHTotEKsOahGdi3J2zYxCvJP0LT+hjN2O9aRzSMIs +MwIDAQABo2IwYDALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1Ud +DgQWBBS9XQHGwJZhG0olAGM1UMNuwZ65DzAfBgNVHSMEGDAWgBRVMLDVqPECWaH6 +GruL9E52VcTrPjANBgkqhkiG9w0BAQsFAAOCAgEAhBcqm5UQahn8iFMETXvfLMR6 +OOPijsHQ5lVfhig08s46a9O5eaJ9EYSYyiDnxYvZ4gYVH03f/kPwNLamvGR5KIBQ +R0DltkPPX4a11/vjwlSq1cXAt9r59nY+sNcVXWgIWH7zNodL8lyTpYhqvB2wEQkx +t2/JKZ8A0sGjed4S6I5HofYd7bnBxQZgfZShQ2SdDbzbcyg4SCEb8ghwnsH0KNZo +jJF+20RpK2VMViE6lylLTEMd/PyAdST/NPoqVxyva3QjTrKt+tkkFTsmNVMXcmYC +f1xo1/YFp73FFE63VYFI+Yw+Ajau8sYSo4+YvgFCy+Efhf3h3GFDtaiNod56uX9G +9M/cu8XsFzFP2e/0YWY3XL+v7ESOdc3g7yS4FQZ7Z6YvfAed9hCB25cDECvZXqJG +HSYDR38NHyAPROuCwlEwDyVmWRl9bpwZt+hr9kaTQScIDx+rV/EF3o0GKIwtR7AK +jaPAta0f4/Uu+EuWAcccSRUMtfx5/Jse/6iliBvy7JXmA+Y0PrT7K4uHO7iktdI+ +x8WbfZKfnLVuqw5fneTjC1n48Ltjis/f8DgO7BuWTmLdZXddjqqxzBSukFTBn4Hg +/oSg3XiMywOAVrRCNJehcdTG0u/BqZsrRjcYAJaf5qG/0tMLNsuF9Y53XQQAeezE +etL+7y0mkeQhVF+Kmy4= +-----END CERTIFICATE----- diff --git a/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.key b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.key new file mode 100644 index 000000000000..95e2ef3e8b31 --- /dev/null +++ b/module/spring-boot-amqp/src/dockerTest/resources/org/springframework/boot/amqp/docker/compose/server.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQCyWXGxJDNNMmU0 +cx9cLZsIhcI+x8KAIGXsVs/PzbyPAmT4RhxeHT5ZMUaSzRbFLBvw1DNrlS3IJQMS +55mP19WPmZYFj3tYK7TVKX/fEKUeZiKxd/LK/bsYp5zs9pI66sKbYkOTIdE26aIl +E5riO143QY4fPDsViwzfvv1O43DXj+C1b54Gsae+CulTt9tS/HjYOLp+0ZhBTAiL +7e4hqpP/+LuS0MxoBAm2QvqFpPNnkk3aoo7lrfj9ZHP8Cm8/DeWkNXxziqhOTcLQ +GD0w/5oOdm2O0sFI30IlbCv6fXVBoyAdOi0Qqw5qEZ2LcnbNjEK8k/QtP6GM3Y71 +pHNIwiwzAgMBAAECgf9REZuCvy2Bi8SoTnjqQuHG5FuA6cPuisuFZr1k88IO+zJQ +uY3WKNs29BV+LcxnoK29W8jQnjqPHXcMfrF5dVWmkrrJdu8JLaGWVHF+uBq8nRb0 +2LvREh5XhZTGzIESNdc/7GIxdouag/8FlzCUYQGuT3v9+wUCiim+4CuIuPvv7ncD +8vANe3Ua5G0mHjVshOiMNpegg45zYlzYpMtUFPs+asLilW6A7UlgC+pLZ1cHUUlU +ZB7KOGT9JdrZpilTidl6LLvDDQK30TSWz8A26SuEAE71DR2VEjLVpjTNS76vlx+c +CrYr/WwpMb0xul+e/uHiNgo+51FiTiJ/IfuGeskCgYEA804CXQM6i5m4/Upps2yG +aTae5xBaYUquZREp5Zb054U6lUAHI41iTMTIwTTvWn5ogNojgi+YjljkzRj2RQ5k +NccBkjBBwwUNVWpBoGeZ73KAdejNB4C4ucGc2kkqEDo4MU5x3IE4JK1Yi1jl9mKb +IR6m3pqb2PCQHjO8sqKNHYkCgYEAu6fH/qUd/XGmCZJWY5K6jg3dISXH16MTO5M+ +jetprkGMMybWKZQa1GedXurPexE48oRlRhkjdQkW6Wcj1Qh6OKp6N2Zx8sY4dLeQ +yVChnMPFE2LK+UlRCKJUZi+rzX415ML6pZg+yW7O2cHpMKv7PlXISw2YDqtboCAi +Y+doqNsCgYBE1yqmBJbZDuqfiCF2KduyA0lcmWzpIEdNw1h2ZIrwwup7dj1O2t8Y +V4lx2TdsBF4vLwli+XKRvCcovMpZaaQC70bLhSnmMxS9uS3OY+HTNTORqQfx+oLJ +1DU8Mf1b0A08LjTbLhijkASAkOuoFehMq66NR3OXIyGz2fGnHYUN+QKBgCC47SL2 +X/hl7PIWVoIef/FtcXXqRKLRiPUGhA3zUwZT38K7rvSpItSPDN4UTAHFywxfEdnb +YFd0Mk6Y8aKgS8+9ynoGnzAaaJXRvKmeKdBQQvlSbNpzcnHy/IylG2xF6dfuOA7Q +MYKmk+Nc8PDPzIveIYMU58MHFn8hm12YaKOpAoGAV1CE8hFkEK9sbRGoKNJkx9nm +CZTv7PybaG/RN4ZrBSwVmnER0FEagA/Tzrlp1pi3sC8ZsC9onSOf6Btq8ZE0zbO1 +vsAm3gTBXcrCJxzw0Wjt8pzEbk3yELm4WE6VDEx4da2jWocdspslpIwdjHnPwsbH +r5O3ZAgigZs/ZtKW/U4= +-----END PRIVATE KEY----- diff --git a/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java index c253dafa98e9..8140867d7429 100644 --- a/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -18,9 +18,12 @@ import java.util.List; +import javax.net.ssl.SSLContext; + import org.springframework.boot.cassandra.autoconfigure.CassandraConnectionDetails; import org.springframework.boot.cassandra.autoconfigure.CassandraConnectionDetails.Node; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; +import org.springframework.boot.ssl.SslBundle; import org.springframework.boot.testsupport.container.TestImage; import static org.assertj.core.api.Assertions.assertThat; @@ -35,6 +38,15 @@ class CassandraDockerComposeConnectionDetailsFactoryIntegrationTests { @DockerComposeTest(composeFile = "cassandra-compose.yaml", image = TestImage.CASSANDRA) void runCreatesConnectionDetails(CassandraConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails); + assertThat(connectionDetails.getSslBundle()).isNull(); + } + + @DockerComposeTest(composeFile = "cassandra-ssl-compose.yaml", image = TestImage.CASSANDRA, + additionalResources = { "server-keystore.p12", "server-truststore.p12", "client-keystore.p12", "client-truststore.p12"}) + void runWithSslCreatesConnectionDetails(CassandraConnectionDetails connectionDetails) { + assertConnectionDetails(connectionDetails); + SslBundle sslBundle = connectionDetails.getSslBundle(); + assertThat(sslBundle).isNotNull(); } private void assertConnectionDetails(CassandraConnectionDetails connectionDetails) { diff --git a/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/cassandra-ssl-compose.yaml b/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/cassandra-ssl-compose.yaml new file mode 100644 index 000000000000..8ea9270ecceb --- /dev/null +++ b/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/cassandra-ssl-compose.yaml @@ -0,0 +1,34 @@ +services: + cassandra: + image: cassandra:3.11.10 + ports: + - 9042:9042 + environment: + - 'CASSANDRA_SNITCH=GossipingPropertyFileSnitch' + - 'JVM_OPTS=-Dcassandra.skip_wait_for_gossip_to_settle=0 -Dcassandra.initial_token=0' + - 'HEAP_NEWSIZE=128M' + - 'MAX_HEAP_SIZE=1024M' + - 'CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch' + - 'CASSANDRA_DC=testdc1' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_ENABLED: true' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_REQUIRE_CLIENT_AUTH: true' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_KEYSTORE: /run/secrets/ssl/server-keystore.p12' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_KEYSTORE_PASSWORD: password' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_TRUSTSTORE: /run/secrets/server-truststore.p12' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_TRUSTSTORE_PASSWORD: password' + - 'CASSANDRA_CLIENT_ENCRYPTION_OPTIONS_STORE_TYPE: PKCS12' + labels: + - 'org.springframework.boot.sslbundle.jks.keystore.type:PKCS12' + - 'org.springframework.boot.sslbundle.jks.keystore.location=client-keystore.p12' + - 'org.springframework.boot.sslbundle.jks.keystore.password=password' + - 'org.springframework.boot.sslbundle.jks.truststore.type=PKCS12' + - 'org.springframework.boot.sslbundle.jks.truststore.location=client-truststore.p12' + - 'org.springframework.boot.sslbundle.jks.truststore.password=password' + secrets: + - server-keystore + - server-truststore +secrets: + server-keystore: + file: ./server-keystore.p12 + server-truststore: + file: ./server-truststore.p12 \ No newline at end of file diff --git a/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/client-keystore.p12 b/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/client-keystore.p12 new file mode 100644 index 0000000000000000000000000000000000000000..dc56224cf6ddfcd6c0fcc5429c31a2b94958b5a4 GIT binary patch literal 2944 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 YOw>};sfqHceKh$sLByA7y#fL!5J@#n5dZ)H literal 0 HcmV?d00001 diff --git a/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-keystore.p12 b/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-keystore.p12 new file mode 100644 index 0000000000000000000000000000000000000000..46a94d956b6371a26967e45f411b2bdb51f8810c GIT binary patch literal 2928 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 literal 0 HcmV?d00001 diff --git a/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-truststore.p12 b/module/spring-boot-cassandra/src/dockerTest/resources/org/springframework/boot/cassandra/docker/compose/server-truststore.p12 new file mode 100644 index 0000000000000000000000000000000000000000..ce1010ad55defb1535e76e9cd396f1d6b890eade GIT binary patch literal 1782 zcmV7Duzgg_YDCD0ic2gjRb-Qi72`Yw2hW8Bt2LUi<1_>&LNQU*SClCSwATSID2r7n1hW8Bu2?YQ! z9R>+thDZTr0|Wso1P~SIxOV8Qfd;NARa^(sHI9IS1@Iu6jp*Uyvj2j}7Di6RtQ{c-ly|L=p)kL0Gh=E67m`Kn6@XY{|!&)-0k$R@p4N%+-f&lG$i?R;qP zo?oqh#u<>qvO)$nb{d2#F3FKxec%6~j*e89{!@v0M#yiS#j!T|90(CsON|a97sQ&Q zr+nRn+t--#Mdw;cvW#`cCvTxPq4qAb}Cb9S*<)4#VnMD{9z%|RZ{aferh{- z0wO~!MG{ISe=5pJ&yEd+^rZ?xZXdK;+0Q|p3|dC-G2I#nNa0%u@=Y-96p8uP z!Ze_f_`ALQYDJ<#R~;L!x9n|u*89hnb`VSgUdqsf>_5#8$H;ZVa6eb4aOP*(ZBeLK zp)$egfu!rv?`LDKV3=h>aNO-|%_EakVj-Lv<=hh1(+^8?=*y;!ergWYn@$eZ2A^ufW2zS3OEgMU{P z4ZjBJ*4p2B(C6dq>NYO1tFIq~HW-O$*dp?`c5$ir*O>UJSiiNb8Jv<41FcV+Z00(4 zGu@4SLs#2(G=`TUUK-`EYEu8?!8q<#Dd;pekyWEQ<_2uj8v$#`a-9h*M=-wmU+879 zPr=B|Ji_ceU@bisFDL>eGp*<-RSOz2w-`FR@VlLhuowO`72M?q!eV1wxd)@M>XVRs zvva#{9p!mBmn0bM?+=nFUg^m{2K2M9Y0$z>=5_Xj&mAKn<*qKhf(U`o65FsHbo5^& zJlHXgg_19J3V>XU6vLaIN7YusXPS^2+|68dmH|`kP8l&vVEc1$W~&d4ozl{(@W-2a zO5T+p+;Ex|B2jzz4mpfzSCJg6;6PlyY(%#|_%W0G<|2`}AG&H|7$~$~4pGqGUmw@6klA|j1Ae2*!{>i;zgp=-P$;wDs`IrTf#7h29 zL4f8ahk~N+s%?{-4 zJZD}IYboQ)t7fUmw17bX?lC(}QGFfqbTF-apa%uXk2laV_mh4iS;W@*pR!-Ddi(ZA zMK(p+gbrfrBqk(6~tIRgQ=+e>So@zS`@;UkShu^CB-4%|@n zuU8~9s^vbFVX02?3$|c~?)SggLPRQu$^A0tR04#&t==0D7sW>%NC9O71OfpC00bZ;O!bM`nudcTSagP{ + mongod + --auth + --tlsMode requireTLS + --tlsCertificateKeyFile /run/secrets/ssl-cert + --tlsCAFile /run/secrets/ssl-ca + --bind_ip_all + labels: + - 'org.springframework.boot.sslbundle.pem.keystore.certificate=client.crt' + - 'org.springframework.boot.sslbundle.pem.keystore.private-key=client.key' + - 'org.springframework.boot.sslbundle.pem.truststore.certificate=ca.crt' +secrets: + ssl-ca: + file: 'ca.crt' + ssl-cert: + file: 'mongo.pem' \ No newline at end of file diff --git a/module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/mongo.pem b/module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/mongo.pem new file mode 100644 index 000000000000..f25c216ea3f1 --- /dev/null +++ b/module/spring-boot-mongodb/src/dockerTest/resources/org/springframework/boot/mongodb/docker/compose/mongo.pem @@ -0,0 +1,54 @@ +-----BEGIN PRIVATE KEY----- +MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQCyWXGxJDNNMmU0 +cx9cLZsIhcI+x8KAIGXsVs/PzbyPAmT4RhxeHT5ZMUaSzRbFLBvw1DNrlS3IJQMS +55mP19WPmZYFj3tYK7TVKX/fEKUeZiKxd/LK/bsYp5zs9pI66sKbYkOTIdE26aIl +E5riO143QY4fPDsViwzfvv1O43DXj+C1b54Gsae+CulTt9tS/HjYOLp+0ZhBTAiL +7e4hqpP/+LuS0MxoBAm2QvqFpPNnkk3aoo7lrfj9ZHP8Cm8/DeWkNXxziqhOTcLQ +GD0w/5oOdm2O0sFI30IlbCv6fXVBoyAdOi0Qqw5qEZ2LcnbNjEK8k/QtP6GM3Y71 +pHNIwiwzAgMBAAECgf9REZuCvy2Bi8SoTnjqQuHG5FuA6cPuisuFZr1k88IO+zJQ +uY3WKNs29BV+LcxnoK29W8jQnjqPHXcMfrF5dVWmkrrJdu8JLaGWVHF+uBq8nRb0 +2LvREh5XhZTGzIESNdc/7GIxdouag/8FlzCUYQGuT3v9+wUCiim+4CuIuPvv7ncD +8vANe3Ua5G0mHjVshOiMNpegg45zYlzYpMtUFPs+asLilW6A7UlgC+pLZ1cHUUlU +ZB7KOGT9JdrZpilTidl6LLvDDQK30TSWz8A26SuEAE71DR2VEjLVpjTNS76vlx+c +CrYr/WwpMb0xul+e/uHiNgo+51FiTiJ/IfuGeskCgYEA804CXQM6i5m4/Upps2yG +aTae5xBaYUquZREp5Zb054U6lUAHI41iTMTIwTTvWn5ogNojgi+YjljkzRj2RQ5k +NccBkjBBwwUNVWpBoGeZ73KAdejNB4C4ucGc2kkqEDo4MU5x3IE4JK1Yi1jl9mKb +IR6m3pqb2PCQHjO8sqKNHYkCgYEAu6fH/qUd/XGmCZJWY5K6jg3dISXH16MTO5M+ +jetprkGMMybWKZQa1GedXurPexE48oRlRhkjdQkW6Wcj1Qh6OKp6N2Zx8sY4dLeQ +yVChnMPFE2LK+UlRCKJUZi+rzX415ML6pZg+yW7O2cHpMKv7PlXISw2YDqtboCAi +Y+doqNsCgYBE1yqmBJbZDuqfiCF2KduyA0lcmWzpIEdNw1h2ZIrwwup7dj1O2t8Y +V4lx2TdsBF4vLwli+XKRvCcovMpZaaQC70bLhSnmMxS9uS3OY+HTNTORqQfx+oLJ +1DU8Mf1b0A08LjTbLhijkASAkOuoFehMq66NR3OXIyGz2fGnHYUN+QKBgCC47SL2 +X/hl7PIWVoIef/FtcXXqRKLRiPUGhA3zUwZT38K7rvSpItSPDN4UTAHFywxfEdnb +YFd0Mk6Y8aKgS8+9ynoGnzAaaJXRvKmeKdBQQvlSbNpzcnHy/IylG2xF6dfuOA7Q +MYKmk+Nc8PDPzIveIYMU58MHFn8hm12YaKOpAoGAV1CE8hFkEK9sbRGoKNJkx9nm +CZTv7PybaG/RN4ZrBSwVmnER0FEagA/Tzrlp1pi3sC8ZsC9onSOf6Btq8ZE0zbO1 +vsAm3gTBXcrCJxzw0Wjt8pzEbk3yELm4WE6VDEx4da2jWocdspslpIwdjHnPwsbH +r5O3ZAgigZs/ZtKW/U4= +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIEWjCCAkKgAwIBAgIURBZvq442tp+/K9TZII5Vy/LzVxwwDQYJKoZIhvcNAQEL +BQAwOzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDEeMBwGA1UEAwwVQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MB4XDTI0MDUwMTE2NTMyNVoXDTM0MDQyOTE2NTMyNVow +LzEZMBcGA1UECgwQU3ByaW5nIEJvb3QgVGVzdDESMBAGA1UEAwwJbG9jYWxob3N0 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsllxsSQzTTJlNHMfXC2b +CIXCPsfCgCBl7FbPz828jwJk+EYcXh0+WTFGks0WxSwb8NQza5UtyCUDEueZj9fV +j5mWBY97WCu01Sl/3xClHmYisXfyyv27GKec7PaSOurCm2JDkyHRNumiJROa4jte +N0GOHzw7FYsM3779TuNw14/gtW+eBrGnvgrpU7fbUvx42Di6ftGYQUwIi+3uIaqT +//i7ktDMaAQJtkL6haTzZ5JN2qKO5a34/WRz/ApvPw3lpDV8c4qoTk3C0Bg9MP+a +DnZtjtLBSN9CJWwr+n11QaMgHTotEKsOahGdi3J2zYxCvJP0LT+hjN2O9aRzSMIs +MwIDAQABo2IwYDALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1Ud +DgQWBBS9XQHGwJZhG0olAGM1UMNuwZ65DzAfBgNVHSMEGDAWgBRVMLDVqPECWaH6 +GruL9E52VcTrPjANBgkqhkiG9w0BAQsFAAOCAgEAhBcqm5UQahn8iFMETXvfLMR6 +OOPijsHQ5lVfhig08s46a9O5eaJ9EYSYyiDnxYvZ4gYVH03f/kPwNLamvGR5KIBQ +R0DltkPPX4a11/vjwlSq1cXAt9r59nY+sNcVXWgIWH7zNodL8lyTpYhqvB2wEQkx +t2/JKZ8A0sGjed4S6I5HofYd7bnBxQZgfZShQ2SdDbzbcyg4SCEb8ghwnsH0KNZo +jJF+20RpK2VMViE6lylLTEMd/PyAdST/NPoqVxyva3QjTrKt+tkkFTsmNVMXcmYC +f1xo1/YFp73FFE63VYFI+Yw+Ajau8sYSo4+YvgFCy+Efhf3h3GFDtaiNod56uX9G +9M/cu8XsFzFP2e/0YWY3XL+v7ESOdc3g7yS4FQZ7Z6YvfAed9hCB25cDECvZXqJG +HSYDR38NHyAPROuCwlEwDyVmWRl9bpwZt+hr9kaTQScIDx+rV/EF3o0GKIwtR7AK +jaPAta0f4/Uu+EuWAcccSRUMtfx5/Jse/6iliBvy7JXmA+Y0PrT7K4uHO7iktdI+ +x8WbfZKfnLVuqw5fneTjC1n48Ltjis/f8DgO7BuWTmLdZXddjqqxzBSukFTBn4Hg +/oSg3XiMywOAVrRCNJehcdTG0u/BqZsrRjcYAJaf5qG/0tMLNsuF9Y53XQQAeezE +etL+7y0mkeQhVF+Kmy4= +-----END CERTIFICATE----- From 50c0969ea3ebe923723a006b4835f46b9163b626 Mon Sep 17 00:00:00 2001 From: itsmevichu Date: Sat, 21 Feb 2026 01:22:52 +0530 Subject: [PATCH 5/5] Fix format checkstyle Signed-off-by: itsmevichu --- ...ConnectionDetailsFactoryIntegrationTests.java | 2 -- ...ConnectionDetailsFactoryIntegrationTests.java | 6 ++---- ...ConnectionDetailsFactoryIntegrationTests.java | 16 ++++++---------- ...ConnectionDetailsFactoryIntegrationTests.java | 2 -- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java index 16b3b180f5a9..cab917ea4c59 100644 --- a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/docker/compose/RabbitDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,8 +16,6 @@ package org.springframework.boot.amqp.docker.compose; -import javax.net.ssl.SSLContext; - import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails; import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; diff --git a/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java index 8140867d7429..e0682a9443c2 100644 --- a/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-cassandra/src/dockerTest/java/org/springframework/boot/cassandra/docker/compose/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -18,8 +18,6 @@ import java.util.List; -import javax.net.ssl.SSLContext; - import org.springframework.boot.cassandra.autoconfigure.CassandraConnectionDetails; import org.springframework.boot.cassandra.autoconfigure.CassandraConnectionDetails.Node; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; @@ -41,8 +39,8 @@ void runCreatesConnectionDetails(CassandraConnectionDetails connectionDetails) { assertThat(connectionDetails.getSslBundle()).isNull(); } - @DockerComposeTest(composeFile = "cassandra-ssl-compose.yaml", image = TestImage.CASSANDRA, - additionalResources = { "server-keystore.p12", "server-truststore.p12", "client-keystore.p12", "client-truststore.p12"}) + @DockerComposeTest(composeFile = "cassandra-ssl-compose.yaml", image = TestImage.CASSANDRA, additionalResources = { + "server-keystore.p12", "server-truststore.p12", "client-keystore.p12", "client-truststore.p12" }) void runWithSslCreatesConnectionDetails(CassandraConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails); SslBundle sslBundle = connectionDetails.getSslBundle(); diff --git a/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java index 389df5c3123d..7fca9023e96c 100644 --- a/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-elasticsearch/src/dockerTest/java/org/springframework/boot/elasticsearch/docker/compose/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,8 +16,6 @@ package org.springframework.boot.elasticsearch.docker.compose; -import javax.net.ssl.SSLContext; - import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchConnectionDetails; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchConnectionDetails.Node; @@ -37,16 +35,14 @@ */ class ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests { - @DockerComposeTest(composeFile = "elasticsearch-compose.yaml", image = - TestImage.ELASTICSEARCH_9) - void runCreatesConnectionDetails(ElasticsearchConnectionDetails connectionDetails) - { - assertConnectionDetails(connectionDetails, Protocol.HTTP); - assertThat(connectionDetails.getSslBundle()).isNull(); - } + @DockerComposeTest(composeFile = "elasticsearch-compose.yaml", image = TestImage.ELASTICSEARCH_9) + void runCreatesConnectionDetails(ElasticsearchConnectionDetails connectionDetails) { + assertConnectionDetails(connectionDetails, Protocol.HTTP); + assertThat(connectionDetails.getSslBundle()).isNull(); + } @DockerComposeTest(composeFile = "elasticsearch-ssl-compose.yaml", image = TestImage.ELASTICSEARCH_9, - additionalResources = { "ca.crt", "server.crt", "server.key", "client.crt", "client.key"}) + additionalResources = { "ca.crt", "server.crt", "server.key", "client.crt", "client.key" }) void runWithSslCreatesConnectionDetails(ElasticsearchConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails, Protocol.HTTPS); SslBundle sslBundle = connectionDetails.getSslBundle(); diff --git a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java index 2a6ec8600a2d..91b70cac78fa 100644 --- a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,8 +16,6 @@ package org.springframework.boot.mongodb.docker.compose; -import javax.net.ssl.SSLContext; - import com.mongodb.ConnectionString; import com.mongodb.MongoCredential;