Skip to content

Commit 2d3ef42

Browse files
author
Thanos Ploumis
committed
Unify certificates
1 parent 2bb69e3 commit 2d3ef42

File tree

105 files changed

+2460
-119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2460
-119
lines changed

core/src/main/groovy/noe/tomcat/configure/SecureHttpConnectorTomcat.groovy

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package noe.tomcat.configure
22

3+
import noe.common.utils.PathHelper
34
import noe.common.utils.Platform
45

56
/**
@@ -52,23 +53,22 @@ public class SecureHttpConnectorTomcat extends ConnectorTomcatAbstract<SecureHtt
5253
}
5354

5455
/**
55-
* Configure secure http connector to expect certificates in ${SYSTEM_TEMP}/ssl/self_signed directory
56+
* Configure secure http connector to expect certificates in ${SYSTEM_TEMP}/ssl/proper/generated/ca/intermediate directory
5657
* Expected names:
5758
* <ul>
58-
* <li>certificate = server.crt</li>
59-
* <li>key file = server.key</li>
60-
* <li>keystore = server.jks</li>
59+
* <li>certificate = localhost.server.cert.pem</li>
60+
* <li>key file = localhost.server.key.pem</li>
61+
* <li>keystore = localhost.server.keystore.jks</li>
6162
* <li></li>
6263
* </ul>
6364
* Password for keystore, trustore and SSL sets to "changeit" (without apostrophes).
6465
*/
6566
SecureHttpConnectorTomcat setDefaultCertificatesConfiguration() {
66-
String sslRoot = new File(new Platform().getTmpDir(), "ssl").getCanonicalPath()
67-
String sslStringDir = new File(sslRoot, "self_signed").getCanonicalPath()
68-
String sslCertificate = new File(sslStringDir, "server.crt").getCanonicalPath()
69-
String sslCertificateKey = new File(sslStringDir, "server.key").getCanonicalPath()
70-
String keystoreFilePath = new File(sslStringDir, "server.jks").getCanonicalPath()
71-
String password = "changeit"
67+
String sslStringDir = PathHelper.join(new Platform().getTmpDir(), "ssl", "proper", "generated", "ca", "intermediate").getCanonicalPath()
68+
String sslCertificate = new File(sslStringDir, "localhost.server.cert.pem").getCanonicalPath()
69+
String sslCertificateKey = new File(sslStringDir, "localhost.server.key.pem").getCanonicalPath()
70+
String keystoreFilePath = new File(sslStringDir, "localhost.server.keystore.jks").getCanonicalPath()
71+
String password = "testpass"
7272

7373
setSslCertificateFile(sslCertificate)
7474
setSslCertificateKeyFile(sslCertificateKey)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Small docker image specification to generate certificates on system that does include docker but not Java or OpenSSL
2+
# docker build . -t "mydockerimage"
3+
# docker run --rm -v $PWD/ca:/ca:z mydockerimage bash generate-trustchain.sh
4+
5+
FROM alpine
6+
7+
MAINTAINER Honza Kasik (https://github.com/honza-kasik)
8+
9+
RUN apk update && \
10+
apk add --no-cache openssl && \
11+
apk add --no-cache bash && \
12+
apk add --no-cache openjdk8-jre-base && \
13+
rm -rf /var/cache/apk/*
14+
15+
VOLUME /ca
16+
17+
COPY conf /conf
18+
COPY generate-trustchain.sh /generate-trustchain.sh
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
This directory contains script to generate whole trustchain for testing purposes.
2+
Complete description of generated structere may be found in [generate-trustchain.sh](generate-trustchain.sh).
3+
4+
## How to run
5+
6+
For quick, OS-independent generation, run following commands to perform build using docker:
7+
8+
```bash
9+
IMAGE_NAME="my_cool_docker_image"
10+
docker build . -t ${IMAGE_NAME}
11+
docker run --rm -v $PWD/ca:/trustchain/ca:z ${IMAGE_NAME} bash generate-trustchain.sh
12+
13+
```
14+
15+
See [Dockerfile](Dockerfile) for further information on which version of Java (keytool) and OpenSSL is being used.
16+
17+
You can also run the script manually, if you have all dependencies installed (see [Dockerfile](Dockerfile)):
18+
19+
```bash
20+
./generate-trustchain.sh
21+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
36+
-----END CERTIFICATE-----
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1000
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
V 290315113640Z 1000 unknown /C=CZ/ST=Czech Republic/O=Red Hat Czech, s.r.o./OU=EAP QE/CN=intermediate_mod_cluster_test_certificate/[email protected]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
unique_subject = yes

core/src/main/resources/ssl/proper/generated/ca/index.txt.old

Whitespace-only changes.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIGQzCCBCugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAkNa
3+
MRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzENMAsGA1UEBwwEQnJubzEeMBwGA1UE
4+
CgwVUmVkIEhhdCBDemVjaCwgcy5yLm8uMQ8wDQYDVQQLDAZFQVAgUUUxIDAeBgkq
5+
hkiG9w0BCQEWEWprYXNpa0ByZWRoYXQuY29tMSgwJgYDVQQDDB9jYV9tb2RfY2x1
6+
c3Rlcl90ZXN0X2NlcnRpZmljYXRlMB4XDTE5MDMxODExMzY0MFoXDTI5MDMxNTEx
7+
MzY0MFowga0xCzAJBgNVBAYTAkNaMRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzEe
8+
MBwGA1UECgwVUmVkIEhhdCBDemVjaCwgcy5yLm8uMQ8wDQYDVQQLDAZFQVAgUUUx
9+
MjAwBgNVBAMMKWludGVybWVkaWF0ZV9tb2RfY2x1c3Rlcl90ZXN0X2NlcnRpZmlj
10+
YXRlMSAwHgYJKoZIhvcNAQkBFhFqa2FzaWtAcmVkaGF0LmNvbTCCAiIwDQYJKoZI
11+
hvcNAQEBBQADggIPADCCAgoCggIBALR9WEo2ZH1sGnfWopQDGHiE2Y9nbYbpQa5P
12+
Y4AWaFEwsF0A9f+PwCin5DK75LO9xNqbMZO4yIO+gg7zrbqA/52Xj2P7vKX/QJgY
13+
Yxwl+UA5liX/ADt1SuKBRUIEHLaihM2UvXDJQ46KwI6kxXbl52WOrj1xFdJq1WOT
14+
hN1VsnP1RY3czpcZcac9Q2TlKr67EXZOljVXWMfOX+AIWwFAHldNsWfF0mKSlpfP
15+
Vpa800p+LmOdfPD/wQe+sDtfzhJ5Os8bSdcqDi86X6QZ/seGbOdHT7cACYqzZ3l3
16+
gfJG76mi9VZ+/pFRmUBc2vGzJHeykPoCMprCLT50CLGjFq/+UZ8XoFDaCGH731Qk
17+
65s93y09c5Ps4d89pdaE77gdgVxiol7HEuFQVov6JcDrU0+Gxoi0jCnz6MvpY+3Y
18+
CSVjgzV904/KAbI4MsVey8b1D+od/xzyvB+7+lXohInzQ/QOjvQq+UCHtEVadIOE
19+
U9WwytD4ajSw1Z9tsNCNUvYQVklj6bnt64LnG90FlJwzGha5CrN46iPIlh+6NOuN
20+
uB+5vsNlQUxtu8avQyDlcu1eRvtOIMaNOXyX2qTM2wB1vEyIpTCUUeEk4wdHf9T1
21+
pcGrxKuvZYDAqk8uUrnwtfxFF4YIAilzZQo1BFTiR85/Je/9xZHCSTNGxxLnSa7K
22+
ogSm7y95AgMBAAGjZjBkMB0GA1UdDgQWBBTeT66yDM5+epU5/8NFHdlr6Kk6dzAf
23+
BgNVHSMEGDAWgBTheIJoFEQJomtlr1YW8dyg/qYYZDASBgNVHRMBAf8ECDAGAQH/
24+
AgEAMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbh6Jwd/nJpNb
25+
gyECw+ftKYqb9N7ZniFPutVe5WCSgXzd6cYVO0RqjFNW8w2xTitnPOFSRZGJSuna
26+
/F2qmExQtw2RLpYn1e9x8u8iq4DKHd3+6l9hEFPLHH1zeH0rui+EsDm2xlT0AOm2
27+
J+exy6ZVBG9ZacvWnaSV2xgPvZRAxbnoiiBFRxJgbbbX1ESdlMs/sdU9f45ODkTR
28+
iC7dXTr1u9TfOFkOp2rGprZMSwp7ZfxBsJ8zSgkNr92lVMtKgUyu7/2FAdojsRBE
29+
M2JL7oP7OnXixpwktSYyLaPzdd7TwTEziDdBiVqwmkl3tAEUZTqkHTjhfvTfwQLc
30+
4b34mSqKi+b28hQSvZ3L4yu5y6Gwd/qUEUjQWIW20TXnXyyg/IHs7G1t9zc2nA8b
31+
GuG/R+6nVjOiuhjIE99GP5/c/bFb634k2eY5X53yTtpXT8VPbjb3zYO4QqUYJQuH
32+
hjhJG4AN0I4x731L6RQWWm38OMe7m3nEcGKJXX0+U7AJbZ/f+pvTN6zg2U4NpLMY
33+
2A9niDp3kzs+/gQKIn4nQbQixo4nr7jPPeIQanvLwtCLeb4eA0NYEDuwecDnofFV
34+
Xa456DxpwSXnDo0AJl6KXNI/5aEGfQElbBzlIx+IULYg8sqoTj3Lw/x9i05bgRG3
35+
IJcfuL0ptwEsS6u06TeYfcd7pHjuoiI=
36+
-----END CERTIFICATE-----
37+
-----BEGIN CERTIFICATE-----
38+
MIIGTDCCBDSgAwIBAgIJANQ0pcZU/eCxMA0GCSqGSIb3DQEBCwUAMIGyMQswCQYD
39+
VQQGEwJDWjEXMBUGA1UECAwOQ3plY2ggUmVwdWJsaWMxDTALBgNVBAcMBEJybm8x
40+
HjAcBgNVBAoMFVJlZCBIYXQgQ3plY2gsIHMuci5vLjEPMA0GA1UECwwGRUFQIFFF
41+
MSAwHgYJKoZIhvcNAQkBFhFqa2FzaWtAcmVkaGF0LmNvbTEoMCYGA1UEAwwfY2Ff
42+
bW9kX2NsdXN0ZXJfdGVzdF9jZXJ0aWZpY2F0ZTAeFw0xOTAzMTgxMTM2MzlaFw0y
43+
OTAzMTUxMTM2MzlaMIGyMQswCQYDVQQGEwJDWjEXMBUGA1UECAwOQ3plY2ggUmVw
44+
dWJsaWMxDTALBgNVBAcMBEJybm8xHjAcBgNVBAoMFVJlZCBIYXQgQ3plY2gsIHMu
45+
ci5vLjEPMA0GA1UECwwGRUFQIFFFMSAwHgYJKoZIhvcNAQkBFhFqa2FzaWtAcmVk
46+
aGF0LmNvbTEoMCYGA1UEAwwfY2FfbW9kX2NsdXN0ZXJfdGVzdF9jZXJ0aWZpY2F0
47+
ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJlW7owbp/KioDejaCmX
48+
mjh+Zqg15qpQC26nck9sV1eFcwB7GDUwueSH6LEpy7L2Dd8DC9f/n9E9jQIZDabJ
49+
JDUXXPrynZtmGbUXiUFG5kKohmVHbdE8v5KQ323oA/ic/DwbraDdkIWbq+6k4nqK
50+
IJBdBuoSxZLSgVXGR6rJjB0Mvdu3ky6F9zx4P6i26Qnz9lPNimxv2EhS9XyfSW5q
51+
0KUNKGq9pVD2EOZ+OZqlANcYiamESbLl72JOlNKeYVIPQzkBffTVLUkN4IcBFbyd
52+
8FprBlVbn+BHB7kKLwlv60lkaTMHQycqq82NZi8RqbUHoOszqFbUOKHSarnA0P1h
53+
Rlnif8CceNbIrK5foDPrNwgtQNueY8MhTghtuJ0MqARK+Cn2jADVKUrr5ZHpH7BI
54+
VKsgiXxX/kdLmhyjb9i3tEcRCo/qRQPyRsxbJNBspyb/qdJN9c38ru5aM0zJSmsG
55+
H/ldkl9VCm+y6BdPEXxK00LZbIqYXX6msmzHyJMFUVIV6Z8uMlPv3H1S4CcmEIXr
56+
7bVm8mUnou41ZtBkpaMZriwPq8V/bQOn4Zjs3n3K1QmLfOJKL02LMNXi0NF1pByG
57+
1YHWP0pltYgSO9cRzvSuiN81cdT86viJu/ZEHwBuQPnTXiZyR+LNZgA/AkDQ4Y13
58+
zmYKcZIVQIKpdxISKylylt+jAgMBAAGjYzBhMB0GA1UdDgQWBBTheIJoFEQJomtl
59+
r1YW8dyg/qYYZDAfBgNVHSMEGDAWgBTheIJoFEQJomtlr1YW8dyg/qYYZDAPBgNV
60+
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEA
61+
FzCSF1IRtcs2rypyfZ9JjpR0sRgjhmnWOihFuNRaCmym8vwtuOqQ4ILrUye6vqf9
62+
lR/ActS7+YPX7mPm8/shPe65Fcj7XVUqeAkgaCAaz14a45ltwMK4d9cawK6ClXl6
63+
aOLYXWndGiYM/pxHLU9dhLtzfX6wnXJI1uLWs37p1lqZgMmFEu7ZwWG9Rgos7VyA
64+
7gxdHBAnrxZFp185VI0UQO6DSd8LiJ6Pw94fu4kut/SvlL+aqmMA2HxmUzMX/yGx
65+
5YQIBrhSzGp5wuSJVlqK0Nvmzj1fJlwek1JZCGcIKVBhSYbs90sN/kx2GNbPbMbJ
66+
0nI/dDKcKIMvtENK0o0h/xdhok0UiNi29EhnSwloQkogqXDfVoB7867051owrq/x
67+
fIKf82YStSYWlcrBNdmLgQbUog2rIJFHeHsRv2FLph4wvmR+jblgdJ3gJyUewUPw
68+
v8C/EGIuw5Lia4dkP2sPg93s70Lxy3o/jVw+TqzL/sLpiJDuWMfQTaOZXlHLciYv
69+
Mbdpt/TADdLg+ZhhpEbb+bsvJDBSFl8aAH/AASt8U7iTjAJHRW5HzXhao3RlliBW
70+
+tZGZs0fFC3s2g0asuQoJ7mG7H3DOadefshVYyX/5+PlCQ8o/lGrpJ876qsWUnW8
71+
TpuBuVjHCn13zW9bIoXCR0tRX1CUjSsAqzx/cv6P2JI=
72+
-----END CERTIFICATE-----
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIGQzCCBCugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAkNa
3+
MRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzENMAsGA1UEBwwEQnJubzEeMBwGA1UE
4+
CgwVUmVkIEhhdCBDemVjaCwgcy5yLm8uMQ8wDQYDVQQLDAZFQVAgUUUxIDAeBgkq
5+
hkiG9w0BCQEWEWprYXNpa0ByZWRoYXQuY29tMSgwJgYDVQQDDB9jYV9tb2RfY2x1
6+
c3Rlcl90ZXN0X2NlcnRpZmljYXRlMB4XDTE5MDMxODExMzY0MFoXDTI5MDMxNTEx
7+
MzY0MFowga0xCzAJBgNVBAYTAkNaMRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzEe
8+
MBwGA1UECgwVUmVkIEhhdCBDemVjaCwgcy5yLm8uMQ8wDQYDVQQLDAZFQVAgUUUx
9+
MjAwBgNVBAMMKWludGVybWVkaWF0ZV9tb2RfY2x1c3Rlcl90ZXN0X2NlcnRpZmlj
10+
YXRlMSAwHgYJKoZIhvcNAQkBFhFqa2FzaWtAcmVkaGF0LmNvbTCCAiIwDQYJKoZI
11+
hvcNAQEBBQADggIPADCCAgoCggIBALR9WEo2ZH1sGnfWopQDGHiE2Y9nbYbpQa5P
12+
Y4AWaFEwsF0A9f+PwCin5DK75LO9xNqbMZO4yIO+gg7zrbqA/52Xj2P7vKX/QJgY
13+
Yxwl+UA5liX/ADt1SuKBRUIEHLaihM2UvXDJQ46KwI6kxXbl52WOrj1xFdJq1WOT
14+
hN1VsnP1RY3czpcZcac9Q2TlKr67EXZOljVXWMfOX+AIWwFAHldNsWfF0mKSlpfP
15+
Vpa800p+LmOdfPD/wQe+sDtfzhJ5Os8bSdcqDi86X6QZ/seGbOdHT7cACYqzZ3l3
16+
gfJG76mi9VZ+/pFRmUBc2vGzJHeykPoCMprCLT50CLGjFq/+UZ8XoFDaCGH731Qk
17+
65s93y09c5Ps4d89pdaE77gdgVxiol7HEuFQVov6JcDrU0+Gxoi0jCnz6MvpY+3Y
18+
CSVjgzV904/KAbI4MsVey8b1D+od/xzyvB+7+lXohInzQ/QOjvQq+UCHtEVadIOE
19+
U9WwytD4ajSw1Z9tsNCNUvYQVklj6bnt64LnG90FlJwzGha5CrN46iPIlh+6NOuN
20+
uB+5vsNlQUxtu8avQyDlcu1eRvtOIMaNOXyX2qTM2wB1vEyIpTCUUeEk4wdHf9T1
21+
pcGrxKuvZYDAqk8uUrnwtfxFF4YIAilzZQo1BFTiR85/Je/9xZHCSTNGxxLnSa7K
22+
ogSm7y95AgMBAAGjZjBkMB0GA1UdDgQWBBTeT66yDM5+epU5/8NFHdlr6Kk6dzAf
23+
BgNVHSMEGDAWgBTheIJoFEQJomtlr1YW8dyg/qYYZDASBgNVHRMBAf8ECDAGAQH/
24+
AgEAMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAbh6Jwd/nJpNb
25+
gyECw+ftKYqb9N7ZniFPutVe5WCSgXzd6cYVO0RqjFNW8w2xTitnPOFSRZGJSuna
26+
/F2qmExQtw2RLpYn1e9x8u8iq4DKHd3+6l9hEFPLHH1zeH0rui+EsDm2xlT0AOm2
27+
J+exy6ZVBG9ZacvWnaSV2xgPvZRAxbnoiiBFRxJgbbbX1ESdlMs/sdU9f45ODkTR
28+
iC7dXTr1u9TfOFkOp2rGprZMSwp7ZfxBsJ8zSgkNr92lVMtKgUyu7/2FAdojsRBE
29+
M2JL7oP7OnXixpwktSYyLaPzdd7TwTEziDdBiVqwmkl3tAEUZTqkHTjhfvTfwQLc
30+
4b34mSqKi+b28hQSvZ3L4yu5y6Gwd/qUEUjQWIW20TXnXyyg/IHs7G1t9zc2nA8b
31+
GuG/R+6nVjOiuhjIE99GP5/c/bFb634k2eY5X53yTtpXT8VPbjb3zYO4QqUYJQuH
32+
hjhJG4AN0I4x731L6RQWWm38OMe7m3nEcGKJXX0+U7AJbZ/f+pvTN6zg2U4NpLMY
33+
2A9niDp3kzs+/gQKIn4nQbQixo4nr7jPPeIQanvLwtCLeb4eA0NYEDuwecDnofFV
34+
Xa456DxpwSXnDo0AJl6KXNI/5aEGfQElbBzlIx+IULYg8sqoTj3Lw/x9i05bgRG3
35+
IJcfuL0ptwEsS6u06TeYfcd7pHjuoiI=
36+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)