You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2019/10/13 10:29:07 UTC
[httpcomponents-core] branch master updated (5dad629 -> 0126b4b)
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git.
omit 5dad629 Use PKCS12 keystores instead of deprecated JKS for TLS and integration tests
new 0126b4b Use PKCS12 keystores instead of deprecated JKS for TLS and integration tests
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (5dad629)
\
N -- N -- N refs/heads/master (0126b4b)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
pom.xml | 1 +
1 file changed, 1 insertion(+)
[httpcomponents-core] 01/01: Use PKCS12 keystores instead of
deprecated JKS for TLS and integration tests
Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git
commit 0126b4b0c25001f7dff60054bea02c4e4b94952e
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Sat Oct 12 09:39:07 2019 +0200
Use PKCS12 keystores instead of deprecated JKS for TLS and integration tests
---
.../apache/hc/core5/testing/SSLTestContexts.java | 6 +-
httpcore5-testing/src/test/resources/test.keystore | Bin 2241 -> 0 bytes
httpcore5-testing/src/test/resources/test.p12 | Bin 0 -> 2623 bytes
.../apache/hc/core5/ssl/TestSSLContextBuilder.java | 69 +++++++++------------
httpcore5/src/test/resources/ca.keystore | Bin 2332 -> 0 bytes
httpcore5/src/test/resources/ca.p12 | Bin 0 -> 2663 bytes
httpcore5/src/test/resources/test-client.keystore | Bin 7654 -> 0 bytes
httpcore5/src/test/resources/test-client.p12 | Bin 0 -> 8845 bytes
.../src/test/resources/test-keypasswd.keystore | Bin 2242 -> 0 bytes
httpcore5/src/test/resources/test-keypasswd.p12 | Bin 0 -> 2623 bytes
httpcore5/src/test/resources/test-server.keystore | Bin 4345 -> 0 bytes
httpcore5/src/test/resources/test-server.p12 | Bin 0 -> 5071 bytes
httpcore5/src/test/resources/test-ssl.txt | 43 +++++++------
httpcore5/src/test/resources/test.keystore | Bin 2242 -> 0 bytes
httpcore5/src/test/resources/test.p12 | Bin 0 -> 2623 bytes
pom.xml | 1 +
16 files changed, 59 insertions(+), 60 deletions(-)
diff --git a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/SSLTestContexts.java b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/SSLTestContexts.java
index 6668f7a..52e1649 100644
--- a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/SSLTestContexts.java
+++ b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/SSLTestContexts.java
@@ -36,18 +36,20 @@ import org.apache.hc.core5.ssl.SSLContextBuilder;
public final class SSLTestContexts {
public static SSLContext createServerSSLContext() throws Exception {
- final URL keyStoreURL = SSLTestContexts.class.getResource("/test.keystore");
+ final URL keyStoreURL = SSLTestContexts.class.getResource("/test.p12");
final String storePassword = "nopassword";
return SSLContextBuilder.create()
+ .setKeyStoreType("pkcs12")
.loadTrustMaterial(keyStoreURL, storePassword.toCharArray())
.loadKeyMaterial(keyStoreURL, storePassword.toCharArray(), storePassword.toCharArray())
.build();
}
public static SSLContext createClientSSLContext() throws Exception {
- final URL keyStoreURL = SSLTestContexts.class.getResource("/test.keystore");
+ final URL keyStoreURL = SSLTestContexts.class.getResource("/test.p12");
final String storePassword = "nopassword";
return SSLContextBuilder.create()
+ .setKeyStoreType("pkcs12")
.loadTrustMaterial(keyStoreURL, storePassword.toCharArray())
.build();
}
diff --git a/httpcore5-testing/src/test/resources/test.keystore b/httpcore5-testing/src/test/resources/test.keystore
deleted file mode 100644
index 4fba6a6..0000000
Binary files a/httpcore5-testing/src/test/resources/test.keystore and /dev/null differ
diff --git a/httpcore5-testing/src/test/resources/test.p12 b/httpcore5-testing/src/test/resources/test.p12
new file mode 100644
index 0000000..17f49ce
Binary files /dev/null and b/httpcore5-testing/src/test/resources/test.p12 differ
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/ssl/TestSSLContextBuilder.java b/httpcore5/src/test/java/org/apache/hc/core5/ssl/TestSSLContextBuilder.java
index e3274f2..dd563a5 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/ssl/TestSSLContextBuilder.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/ssl/TestSSLContextBuilder.java
@@ -62,12 +62,14 @@ import javax.net.ssl.SSLPeerUnverifiedException;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
-import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManagerFactory;
+import org.apache.hc.core5.util.ReflectionUtils;
import org.apache.hc.core5.util.Timeout;
import org.junit.After;
import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -83,6 +85,11 @@ public class TestSSLContextBuilder {
return System.getProperty("os.name").contains("Windows");
}
+ @BeforeClass
+ public static void determineJavaVersion() {
+ Assume.assumeTrue("Java version must be 8 or greater", ReflectionUtils.determineJRELevel() >= 8);
+ }
+
@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -154,7 +161,7 @@ public class TestSSLContextBuilder {
@Test(expected=NoSuchAlgorithmException.class)
public void testBuildNoSuchKeyManagerFactoryAlgorithm() throws Exception {
- final URL resource1 = getResource("/test-keypasswd.keystore");
+ final URL resource1 = getResource("/test-keypasswd.p12");
final String storePassword = "nopassword";
final String keyPassword = "password";
SSLContextBuilder.create()
@@ -163,9 +170,9 @@ public class TestSSLContextBuilder {
.build();
}
- @Test(expected=KeyStoreException.class)
+ @Test(expected= KeyStoreException.class)
public void testBuildNoSuchKeyStoreType() throws Exception {
- final URL resource1 = getResource("/test-keypasswd.keystore");
+ final URL resource1 = getResource("/test-keypasswd.p12");
final String storePassword = "nopassword";
final String keyPassword = "password";
SSLContextBuilder.create()
@@ -176,7 +183,7 @@ public class TestSSLContextBuilder {
@Test(expected=NoSuchAlgorithmException.class)
public void testBuildNoSuchTrustManagerFactoryAlgorithm() throws Exception {
- final URL resource1 = getResource("/test-keypasswd.keystore");
+ final URL resource1 = getResource("/test-keypasswd.p12");
final String storePassword = "nopassword";
SSLContextBuilder.create()
.setTrustManagerFactoryAlgorithm(" BAD ")
@@ -186,7 +193,7 @@ public class TestSSLContextBuilder {
@Test
public void testBuildWithProvider() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext sslContext=SSLContextBuilder.create()
@@ -198,7 +205,7 @@ public class TestSSLContextBuilder {
@Test
public void testBuildWithProviderName() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext sslContext=SSLContextBuilder.create()
@@ -209,25 +216,11 @@ public class TestSSLContextBuilder {
}
@Test
- public void testKeyWithAlternatePassword() throws Exception {
- final URL resource1 = getResource("/test-keypasswd.keystore");
- final String storePassword = "nopassword";
- final String keyPassword = "password";
- final SSLContext sslContext = SSLContextBuilder.create()
- .loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
- .loadTrustMaterial(resource1, storePassword.toCharArray())
- .build();
- Assert.assertNotNull(sslContext);
- final SSLSocketFactory socketFactory = sslContext.getSocketFactory();
- Assert.assertNotNull(socketFactory);
- }
-
- @Test
public void testKeyWithAlternatePasswordInvalid() throws Exception {
thrown.expect(UnrecoverableKeyException.class);
- final URL resource1 = getResource("/test-keypasswd.keystore");
+ final URL resource1 = getResource("/test-keypasswd.p12");
final String storePassword = "nopassword";
final String keyPassword = "!password";
SSLContextBuilder.create()
@@ -238,7 +231,7 @@ public class TestSSLContextBuilder {
@Test
public void testSSLHandshakeServerTrusted() throws Exception {
- final URL resource1 = getResource("/test.keystore");
+ final URL resource1 = getResource("/test.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
@@ -286,14 +279,14 @@ public class TestSSLContextBuilder {
public void testSSLHandshakeServerNotTrusted() throws Exception {
thrown.expect(IOException.class);
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test.keystore");
+ final URL resource2 = getResource("/test.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.build();
@@ -324,7 +317,7 @@ public class TestSSLContextBuilder {
@Test
public void testSSLHandshakeServerCustomTrustStrategy() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
@@ -403,14 +396,14 @@ public class TestSSLContextBuilder {
@Test
public void testSSLHandshakeClientUnauthenticated() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.build();
@@ -460,14 +453,14 @@ public class TestSSLContextBuilder {
public void testSSLHandshakeClientUnauthenticatedError() throws Exception {
thrown.expect(IOException.class);
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.build();
@@ -502,7 +495,7 @@ public class TestSSLContextBuilder {
@Test
public void testSSLHandshakeClientAuthenticated() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
@@ -510,7 +503,7 @@ public class TestSSLContextBuilder {
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.loadKeyMaterial(resource2, storePassword.toCharArray(), storePassword.toCharArray())
@@ -554,7 +547,7 @@ public class TestSSLContextBuilder {
@Test
public void testSSLHandshakeClientAuthenticatedPrivateKeyStrategy() throws Exception {
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
@@ -571,7 +564,7 @@ public class TestSSLContextBuilder {
}
};
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.loadKeyMaterial(resource2, storePassword.toCharArray(), storePassword.toCharArray(), privateKeyStrategy)
@@ -623,14 +616,14 @@ public class TestSSLContextBuilder {
thrown.expect(SSLHandshakeException.class);
}
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.build();
@@ -674,14 +667,14 @@ public class TestSSLContextBuilder {
thrown.expect(SSLException.class);
}
- final URL resource1 = getResource("/test-server.keystore");
+ final URL resource1 = getResource("/test-server.p12");
final String storePassword = "nopassword";
final String keyPassword = "nopassword";
final SSLContext serverSslContext = SSLContextBuilder.create()
.loadKeyMaterial(resource1, storePassword.toCharArray(), keyPassword.toCharArray())
.build();
Assert.assertNotNull(serverSslContext);
- final URL resource2 = getResource("/test-client.keystore");
+ final URL resource2 = getResource("/test-client.p12");
final SSLContext clientSslContext = SSLContextBuilder.create()
.loadTrustMaterial(resource2, storePassword.toCharArray())
.build();
diff --git a/httpcore5/src/test/resources/ca.keystore b/httpcore5/src/test/resources/ca.keystore
deleted file mode 100644
index 2c93a60..0000000
Binary files a/httpcore5/src/test/resources/ca.keystore and /dev/null differ
diff --git a/httpcore5/src/test/resources/ca.p12 b/httpcore5/src/test/resources/ca.p12
new file mode 100644
index 0000000..ab6f6aa
Binary files /dev/null and b/httpcore5/src/test/resources/ca.p12 differ
diff --git a/httpcore5/src/test/resources/test-client.keystore b/httpcore5/src/test/resources/test-client.keystore
deleted file mode 100644
index 261ebdb..0000000
Binary files a/httpcore5/src/test/resources/test-client.keystore and /dev/null differ
diff --git a/httpcore5/src/test/resources/test-client.p12 b/httpcore5/src/test/resources/test-client.p12
new file mode 100644
index 0000000..f1170f5
Binary files /dev/null and b/httpcore5/src/test/resources/test-client.p12 differ
diff --git a/httpcore5/src/test/resources/test-keypasswd.keystore b/httpcore5/src/test/resources/test-keypasswd.keystore
deleted file mode 100644
index b063cb3..0000000
Binary files a/httpcore5/src/test/resources/test-keypasswd.keystore and /dev/null differ
diff --git a/httpcore5/src/test/resources/test-keypasswd.p12 b/httpcore5/src/test/resources/test-keypasswd.p12
new file mode 100644
index 0000000..1c7cb1f
Binary files /dev/null and b/httpcore5/src/test/resources/test-keypasswd.p12 differ
diff --git a/httpcore5/src/test/resources/test-server.keystore b/httpcore5/src/test/resources/test-server.keystore
deleted file mode 100644
index f9acf64..0000000
Binary files a/httpcore5/src/test/resources/test-server.keystore and /dev/null differ
diff --git a/httpcore5/src/test/resources/test-server.p12 b/httpcore5/src/test/resources/test-server.p12
new file mode 100644
index 0000000..c4cca0e
Binary files /dev/null and b/httpcore5/src/test/resources/test-server.p12 differ
diff --git a/httpcore5/src/test/resources/test-ssl.txt b/httpcore5/src/test/resources/test-ssl.txt
index 1130ea3..8749478 100644
--- a/httpcore5/src/test/resources/test-ssl.txt
+++ b/httpcore5/src/test/resources/test-ssl.txt
@@ -22,11 +22,14 @@
# information on the Apache Software Foundation, please see
# <http://www.apache.org/>.
+
+*** Use Java 11 or older ***
+
== generate test key store with a self signed key
---
keytool -genkey \
- -keystore test.keystore -storepass nopassword \
+ -keystore test.12 -storepass nopassword \
-keyalg RSA -keysize 2048 \
-alias simple-http-server \
-validity 100000 \
@@ -38,8 +41,8 @@ keytool -genkey \
---
keytool -genkey \
- -keystore test-keypasswd.keystore -storepass nopassword \
- -keyalg RSA -keysize 2048 -keypass password \
+ -keystore test-keypasswd.p12 -storepass nopassword \
+ -keyalg RSA -keysize 2048 \
-alias simple-http-server \
-validity 100000 \
-dname "CN=localhost, OU=Apache HttpComponents, O=Apache Software Foundation" \
@@ -50,8 +53,8 @@ keytool -genkey \
---
keytool -genkeypair \
- -keystore ca.keystore -storepass nopassword \
- -keyalg RSA -keysize 2048 -keypass password \
+ -keystore ca.p12 -storepass nopassword \
+ -keyalg RSA -keysize 2048 \
-alias ca \
-validity 100000 \
-dname "EMAILADDRESS=dev@hc.apache.org, CN=Test CA, OU=HttpComponents Project, O=Apache Software Foundation" \
@@ -64,7 +67,7 @@ keytool -genkeypair \
---
keytool -export \
- -keystore ca.keystore -storepass nopassword -keypass password \
+ -keystore ca.p12 -storepass nopassword \
-alias ca \
-file test-ca.crt \
-rfc
@@ -74,7 +77,7 @@ keytool -export \
---
keytool -genkeypair \
- -keystore test-server.keystore -storepass nopassword \
+ -keystore test-server.p12 -storepass nopassword \
-keyalg RSA -keysize 2048 \
-alias server \
-validity 100000 \
@@ -85,7 +88,7 @@ keytool -genkeypair \
---
keytool -certreq \
- -keystore test-server.keystore -storepass nopassword \
+ -keystore test-server.p12 -storepass nopassword \
-alias server \
-file server.csr
---
@@ -94,7 +97,7 @@ keytool -certreq \
---
keytool -gencert \
- -keystore ca.keystore -storepass nopassword -keypass password \
+ -keystore ca.p12 -storepass nopassword \
-alias ca \
-validity 100000 \
-infile server.csr \
@@ -109,12 +112,12 @@ keytool -gencert \
---
keytool -importcert \
- -keystore test-server.keystore -storepass nopassword \
+ -keystore test-server.p12 -storepass nopassword \
-file test-ca.crt \
-alias caroot
---
keytool -importcert \
- -keystore test-server.keystore -storepass nopassword \
+ -keystore test-server.p12 -storepass nopassword \
-file server.crt \
-alias server
---
@@ -123,14 +126,14 @@ keytool -importcert \
---
keytool -genkeypair \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-keyalg RSA -keysize 2048 \
-alias client1 \
-validity 100000 \
-dname "CN=Test Client 1, OU=HttpComponents Project, O=Apache Software Foundation"
---
keytool -genkeypair \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-keyalg RSA -keysize 2048 \
-alias client2 \
-validity 100000 \
@@ -141,12 +144,12 @@ keytool -genkeypair \
---
keytool -certreq \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-alias client1 \
-file client1.csr
---
keytool -certreq \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-alias client2 \
-file client2.csr
---
@@ -155,7 +158,7 @@ keytool -certreq \
---
keytool -gencert \
- -keystore ca.keystore -storepass nopassword -keypass password \
+ -keystore ca.p12 -storepass nopassword \
-alias ca \
-validity 100000 \
-infile client1.csr \
@@ -165,7 +168,7 @@ keytool -gencert \
-rfc
---
keytool -gencert \
- -keystore ca.keystore -storepass nopassword -keypass password \
+ -keystore ca.p12 -storepass nopassword \
-alias ca \
-validity 100000 \
-infile client2.csr \
@@ -179,17 +182,17 @@ keytool -gencert \
---
keytool -importcert \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-file test-ca.crt \
-alias caroot
---
keytool -importcert \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-file client1.crt \
-alias client1
---
keytool -importcert \
- -keystore test-client.keystore -storepass nopassword \
+ -keystore test-client.p12 -storepass nopassword \
-file client2.crt \
-alias client2
---
diff --git a/httpcore5/src/test/resources/test.keystore b/httpcore5/src/test/resources/test.keystore
deleted file mode 100644
index 5010669..0000000
Binary files a/httpcore5/src/test/resources/test.keystore and /dev/null differ
diff --git a/httpcore5/src/test/resources/test.p12 b/httpcore5/src/test/resources/test.p12
new file mode 100644
index 0000000..17f49ce
Binary files /dev/null and b/httpcore5/src/test/resources/test.p12 differ
diff --git a/pom.xml b/pom.xml
index 053583d..7e47cea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -247,6 +247,7 @@
<exclude>maven-eclipse.xml</exclude>
<exclude>src/docbkx/resources/**</exclude>
<exclude>src/test/resources/*.truststore</exclude>
+ <exclude>src/test/resources/*.p12</exclude>
<exclude>**/.dockerignore</exclude>
<!-- Eclipse can leave some file in 'bin' when an imported project misconfigured. -->
<exclude>bin/**</exclude>