From 404050280f3e2c1384fe42345359239b1205bb06 Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 5 Dec 2024 14:12:47 +0100
Subject: [PATCH 1/2] KOP-2893 Add client and server keystore generation script

Generate new client and server certificates
Generate new truststore
---
 build/assembly.xml                            |   4 +-
 build/resources/application-local.yml         |   4 +-
 doc/bedienungsanleitung.adoc                  |   3 +-
 soapui/XTA-soapui-project.xml                 |   6 +-
 src/main/resources/application.yml            |   4 +-
 src/main/resources/store/.gitignore           |   4 ++
 src/main/resources/store/ca-openssl.cnf       |  23 ++++++++
 src/main/resources/store/client-openssl.cnf   |  20 +++++++
 src/main/resources/store/generate.sh          |  52 ++++++++++++++++++
 .../resources/store/jane_doe_xta_tester.p12   | Bin 2839 -> 0 bytes
 .../resources/store/john_smith_xta_tester.p12 | Bin 2851 -> 0 bytes
 src/main/resources/store/server-openssl.cnf   |  25 +++++++++
 src/main/resources/store/show_certs.sh        |  19 +++++++
 .../xta-test-client-jane-doe_keystore.p12     | Bin 0 -> 4236 bytes
 .../xta-test-client-john-smith_keystore.p12   | Bin 0 -> 4240 bytes
 .../store/xta-test-server_keystore.p12        | Bin 2859 -> 4202 bytes
 .../store/xta-test-server_truststore.jks      | Bin 1136 -> 0 bytes
 .../resources/store/xta-test_truststore.jks   | Bin 0 -> 1083 bytes
 src/test/resources/application.yml            |   4 +-
 19 files changed, 155 insertions(+), 13 deletions(-)
 create mode 100644 src/main/resources/store/.gitignore
 create mode 100644 src/main/resources/store/ca-openssl.cnf
 create mode 100644 src/main/resources/store/client-openssl.cnf
 create mode 100755 src/main/resources/store/generate.sh
 delete mode 100644 src/main/resources/store/jane_doe_xta_tester.p12
 delete mode 100644 src/main/resources/store/john_smith_xta_tester.p12
 create mode 100644 src/main/resources/store/server-openssl.cnf
 create mode 100755 src/main/resources/store/show_certs.sh
 create mode 100644 src/main/resources/store/xta-test-client-jane-doe_keystore.p12
 create mode 100644 src/main/resources/store/xta-test-client-john-smith_keystore.p12
 delete mode 100644 src/main/resources/store/xta-test-server_truststore.jks
 create mode 100644 src/main/resources/store/xta-test_truststore.jks

diff --git a/build/assembly.xml b/build/assembly.xml
index 33259bf..79c7b94 100644
--- a/build/assembly.xml
+++ b/build/assembly.xml
@@ -29,9 +29,9 @@
             <directory>${project.basedir}/src/main/resources/store</directory>
             <outputDirectory>/</outputDirectory>
             <includes>
-                <include>john_smith_xta_tester.p12</include>
+                <include>xta-test-client-john-smith_keystore.p12</include>
                 <include>xta-test-server_keystore.p12</include>
-                <include>xta-test-server_truststore.jks</include>
+                <include>xta-test_truststore.jks</include>
             </includes>
         </fileSet>
     </fileSets>
diff --git a/build/resources/application-local.yml b/build/resources/application-local.yml
index 56e45ef..49cc6e1 100644
--- a/build/resources/application-local.yml
+++ b/build/resources/application-local.yml
@@ -15,10 +15,10 @@ server:
     key-store-password: password
     key-store-type: pkcs12
     # Alias im KeyStore
-    key-alias: xta-test-application
+    key-alias: xta-test-server
     key-password: password
     # enthaelt alle vertrauenswuerdigen Zertifikate oder Oberzertifikate
-    trust-store: ./xta-test-server_truststore.jks
+    trust-store: ./xta-test_truststore.jks
     trust-store-password: password
     trust-store-type: JKS
     client-auth: want
diff --git a/doc/bedienungsanleitung.adoc b/doc/bedienungsanleitung.adoc
index aef7299..5e1a1f0 100644
--- a/doc/bedienungsanleitung.adoc
+++ b/doc/bedienungsanleitung.adoc
@@ -214,8 +214,7 @@ Die WSDL-Datei ist immer unter der Adresse des Services mit dem Zusatz ?wsdl auf
 
 Für die Kommunikation mittels HTTPs ist ein Client-Zertifikat notwendig, um den Client gegenüber der Testumgebung zu authentifizieren. Innerhalb der ZIP-Dateien der Testumgebung sind bereits mehrere Zertifikate und Keystores hinterlegt, die für die Kommunikation mit der Testumgebung genutzt werden können:
 
-* john_smith_xta_tester.p12 - Dieser Keystore beinhaltet ein Client-Zertifikat, das für die Kommunikation mit der Testumgebung verwendet werden kann. Sofern die Testumgebung in der Standardkonfiguration gestartet wurde, stuft die Umgebung das Zertifikat als vertrauenswürdig ein.
-* jane_doe_xta_tester.p12 - Dieser Keystore beinhaltet ein Client-Zertifikat, das für die Kommunikation mit der Testumgebung verwendet werden kann. Sofern die Testumgebung in der Standardkonfiguration gestartet wurde, stuft die Umgebung das Zertifikat als vertrauenswürdig ein.
+* xta-test-client-john-smith_keystore.p12 - Dieser Keystore beinhaltet ein Client-Zertifikat, das für die Kommunikation mit der Testumgebung verwendet werden kann. Sofern die Testumgebung in der Standardkonfiguration gestartet wurde, stuft die Umgebung das Zertifikat als vertrauenswürdig ein.
 
 
 === Test mit SoapUI
diff --git a/soapui/XTA-soapui-project.xml b/soapui/XTA-soapui-project.xml
index 2d19260..4b43308 100644
--- a/soapui/XTA-soapui-project.xml
+++ b/soapui/XTA-soapui-project.xml
@@ -3358,7 +3358,7 @@ eine Nachricht für die synchrone Weiterleitung übergeben wurde, die nur für d
       <xs:documentation>Diese Exception wird allgemein geworfen, wenn ein technisches Problem im XTA-WS aufgetreten ist. Sie kann z. B. durch ein Problem beim Zugriff auf die interne Datenbank des XTA-Servers ausgelöst worden sein.</xs:documentation>
     </xs:annotation>
   </xs:element>
-</xs:schema>]]></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:8080/xta/ws</con:endpoint><con:endpoint>https://localhost:8443/MB_XTA-WS</con:endpoint><con:endpoint>https://localhost:8881</con:endpoint></con:endpoints><con:operation id="638fc8ad-4e98-4cf6-be0c-e2638749cfe3" isOneWay="false" action="http://www.xta.de/XTA/CancelMessage" name="cancelMessage" bindingOperationName="cancelMessage" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call id="9e166713-c453-4f91-b18b-81229ae9f636" name="CancelMessage" sslKeystore="john_smith_xta_tester.p12" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting><con:setting id="WsdlSettings@enable-mtom">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@force_mtom">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/MB_XTA-WS/XTA210managementPort.svc</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tran="http://www.osci.eu/ws/2014/10/transport" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:add="http://www.w3.org/2005/08/addressing">\r
+</xs:schema>]]></con:content><con:type>http://www.w3.org/2001/XMLSchema</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:8080/xta/ws</con:endpoint><con:endpoint>https://localhost:8443/MB_XTA-WS</con:endpoint><con:endpoint>https://localhost:8881</con:endpoint></con:endpoints><con:operation id="638fc8ad-4e98-4cf6-be0c-e2638749cfe3" isOneWay="false" action="http://www.xta.de/XTA/CancelMessage" name="cancelMessage" bindingOperationName="cancelMessage" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call id="9e166713-c453-4f91-b18b-81229ae9f636" name="CancelMessage" sslKeystore="xta-test-client-john-smith_keystore.p12" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting><con:setting id="WsdlSettings@enable-mtom">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@force_mtom">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/MB_XTA-WS/XTA210managementPort.svc</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tran="http://www.osci.eu/ws/2014/10/transport" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:add="http://www.w3.org/2005/08/addressing">\r
    <soap:Header>\r
       <tran:Author>\r
          <tran:Identifier type="xoev" name="SoapUI" category="dbs:testumgebung">?</tran:Identifier>
@@ -3368,7 +3368,7 @@ eine Nachricht für die synchrone Weiterleitung übergeben wurde, die nur für d
    <soap:Body>\r
       <add:MessageID>urn:de:xta:messageid:xta-tester:b9f971c1-133e-4c33-91da-117a668f4343</add:MessageID>\r
    </soap:Body>\r
-</soap:Envelope>]]></con:request><con:credentials><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.xta.de/XTA/CancelMessage" addDefaultAction="true" addDefaultTo="true" generateMessageId="true"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation id="ed63891c-c43a-4476-8208-f37771b9a239" isOneWay="false" action="http://www.xta.de/XTA/CheckAccountActive" name="checkAccountActive" bindingOperationName="checkAccountActive" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call id="246c0286-5928-43a6-ab33-56b93f9308b3" name="CheckAccountActive" sslKeystore="john_smith_xta_tester.p12" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting><con:setting id="WsdlSettings@enable-mtom">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@force_mtom">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:9443/MB_XTA-WS/XTA210managementPort.svc</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tran="http://www.osci.eu/ws/2014/10/transport" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">\r
+</soap:Envelope>]]></con:request><con:credentials><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.xta.de/XTA/CancelMessage" addDefaultAction="true" addDefaultTo="true" generateMessageId="true"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation id="ed63891c-c43a-4476-8208-f37771b9a239" isOneWay="false" action="http://www.xta.de/XTA/CheckAccountActive" name="checkAccountActive" bindingOperationName="checkAccountActive" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call id="246c0286-5928-43a6-ab33-56b93f9308b3" name="CheckAccountActive" sslKeystore="xta-test-client-john-smith_keystore.p12" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting><con:setting id="WsdlSettings@enable-mtom">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@force_mtom">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:9443/MB_XTA-WS/XTA210managementPort.svc</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tran="http://www.osci.eu/ws/2014/10/transport" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">\r
    <soap:Header>\r
       <tran:Author>\r
          <tran:Identifier type="xoev" name="SoapUI" category="dbs:testumgebung">?</tran:Identifier>\r
@@ -10846,4 +10846,4 @@ if (action[0..1] == "\\\"") {
          </ns:ContentContainer>
       </ns:GenericContentContainer>
    </soapenv:Body>
-</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/></con:response><con:dispatchConfig/></con:mockOperation></con:mockService><con:properties/><con:afterLoadScript/><con:wssContainer><con:crypto><con:source>../src/main/resources/store/john_smith_xta_tester.p12</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto><con:crypto><con:source>../src/main/resources/store/xta-test-server_keystore.p12</con:source><con:password>password</con:password><con:type>TRUSTSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
+</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/></con:response><con:dispatchConfig/></con:mockOperation></con:mockService><con:properties/><con:afterLoadScript/><con:wssContainer><con:crypto><con:source>../src/main/resources/store/xta-test-client-john-smith_keystore.p12</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto><con:crypto><con:source>../src/main/resources/store/xta-test-server_keystore.p12</con:source><con:password>password</con:password><con:type>TRUSTSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project>
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index abdee8f..8a3a8ab 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -17,10 +17,10 @@ server:
     key-store-password: password
     key-store-type: pkcs12
     # Alias im KeyStore
-    key-alias: xta-test-application
+    key-alias: xta-test-server
     key-password: password
     # enthaelt alle vertrauenswuerdigen Zertifikate
-    trust-store: classpath:store/xta-test-server_truststore.jks
+    trust-store: classpath:store/xta-test_truststore.jks
     trust-store-password: password
     trust-store-type: JKS
     # want, need, none; see org.springframework.boot.web.server.ClientAuth
diff --git a/src/main/resources/store/.gitignore b/src/main/resources/store/.gitignore
new file mode 100644
index 0000000..e198011
--- /dev/null
+++ b/src/main/resources/store/.gitignore
@@ -0,0 +1,4 @@
+*.crt
+*.csr
+*.key
+*.slr
\ No newline at end of file
diff --git a/src/main/resources/store/ca-openssl.cnf b/src/main/resources/store/ca-openssl.cnf
new file mode 100644
index 0000000..63ba8d8
--- /dev/null
+++ b/src/main/resources/store/ca-openssl.cnf
@@ -0,0 +1,23 @@
+[req]
+default_bits       = 2048
+distinguished_name = req_distinguished_name
+req_extensions     = v3_ca
+prompt             = no
+
+[req_distinguished_name]
+C  = DE
+ST = XTATestState
+L  = XTATestCity
+O  = XTATestOrg
+OU = XTATestOrgUnit
+CN = XTA Test Root CA
+
+[ v3_ca ]
+# Basic Constraints
+basicConstraints = critical, CA:true, pathlen:0
+
+# Key Usage
+keyUsage = critical, digitalSignature, keyCertSign, cRLSign
+
+# Netscape Cert Type
+nsCertType = sslCA
\ No newline at end of file
diff --git a/src/main/resources/store/client-openssl.cnf b/src/main/resources/store/client-openssl.cnf
new file mode 100644
index 0000000..2914eaa
--- /dev/null
+++ b/src/main/resources/store/client-openssl.cnf
@@ -0,0 +1,20 @@
+[ req ]
+default_bits       = 2048
+distinguished_name = req_distinguished_name
+req_extensions     = req_ext
+prompt             = no
+
+[ req_distinguished_name ]
+C  = DE
+ST = XTACity
+L  = XTACountry
+O  = XTAOrg
+OU = XTAOrgUnit
+CN = XTA Test Client
+
+[ req_ext ]
+authorityKeyIdentifier=keyid,issuer
+keyUsage = critical, digitalSignature, keyEncipherment, dataEncipherment, keyAgreement
+extendedKeyUsage = clientAuth
+basicConstraints=CA:FALSE
+nsCertType = client
\ No newline at end of file
diff --git a/src/main/resources/store/generate.sh b/src/main/resources/store/generate.sh
new file mode 100755
index 0000000..5906a97
--- /dev/null
+++ b/src/main/resources/store/generate.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+set -e
+
+STORE_PASS=password
+ISSUER_ALIAS=xta-test-root-ca
+TRUST_STORE_JKS=xta-test_truststore.jks
+
+if [ ! -f $ISSUER_ALIAS.key ] || [ ! -f $ISSUER_ALIAS.crt ]; then
+  rm $TRUST_STORE_JKS || true
+  echo "[1.0] Generate key for the Xta-Root-CA (Root CA key or crt not found)"
+  openssl genrsa -out $ISSUER_ALIAS.key 2048
+  echo "[1.1] Generate a self-signed certificate for the Xta-Root-CA"
+  openssl req -x509 -new -nodes -key $ISSUER_ALIAS.key -sha256 -days 4000 -out $ISSUER_ALIAS.crt -config ca-openssl.cnf -extensions v3_ca
+else
+  echo "[1.0] Root CA found. Skipping generation."
+fi
+
+if [ ! -f $TRUST_STORE_JKS ]; then
+  echo "[2.0] Import Root CA into Xta-Server-Truststore"
+  keytool -importcert -alias $ISSUER_ALIAS -keystore $TRUST_STORE_JKS -storetype JKS -storepass "$STORE_PASS" -file $ISSUER_ALIAS.crt -noprompt
+else
+  echo "[2.0] Xta-Server-Truststore found. Skipping generation."
+fi
+
+function generate_keystore_with_signed_certificate {
+  local step_num="$1"
+  local key_alias="$2"
+  local key_cn="$3"
+  local ext_config_file="$4"
+  local keystore_args=( -keystore "${key_alias}_keystore.p12" -storepass "$STORE_PASS" -storetype PKCS12 )
+  rm "$key_alias"_keystore.p12 || true
+  echo "[$step_num.0] Generate a keystore for $key_cn"
+  keytool -genkeypair "${keystore_args[@]}" -alias "$key_alias" -keyalg RSA -keysize 2048 -validity 3900 -dname "CN=$key_cn, OU=XtaTestOrgUnit, O=XtaTestOrg, L=XtaTestCity, S=XtaTestState, C=DE"
+  keytool -importcert "${keystore_args[@]}" -alias $ISSUER_ALIAS -file $ISSUER_ALIAS.crt -noprompt
+
+  echo "[$step_num.1] Generate a certificate signing request for $key_cn"
+  keytool -certreq "${keystore_args[@]}" -alias "$key_alias" -file "$key_alias.csr"
+
+  echo "[$step_num.2] Sign the certificate with the Root CA using $ext_config_file"
+  openssl x509 -req -in "$key_alias.csr" -out "$key_alias.crt" -CA $ISSUER_ALIAS.crt -CAkey $ISSUER_ALIAS.key -CAcreateserial -days 3900 -sha256 -extfile "$ext_config_file" -extensions req_ext
+  rm "$key_alias.csr" || true
+
+  echo "[$step_num.3] Import the signed certificate into the keystore with alias $key_alias"
+  keytool -importcert "${keystore_args[@]}" -alias "$key_alias" -file "$key_alias.crt" -noprompt
+  rm "$key_alias.crt" || true
+  keytool -delete "${keystore_args[@]}" -alias $ISSUER_ALIAS -noprompt
+}
+
+generate_keystore_with_signed_certificate "3" xta-test-server "XTA Test Server" server-openssl.cnf
+generate_keystore_with_signed_certificate "4" xta-test-client-john-smith "XTA Test Client John Smith" client-openssl.cnf
+generate_keystore_with_signed_certificate "5" xta-test-client-jane-doe "XTA Test Client Jane Doe" client-openssl.cnf
\ No newline at end of file
diff --git a/src/main/resources/store/jane_doe_xta_tester.p12 b/src/main/resources/store/jane_doe_xta_tester.p12
deleted file mode 100644
index f745dc02ab3dc0e9bb25a83ee0e9542ad3851c65..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2839
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

diff --git a/src/main/resources/store/john_smith_xta_tester.p12 b/src/main/resources/store/john_smith_xta_tester.p12
deleted file mode 100644
index a727395694185315016bfccc2fd42e17749e4592..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2851
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
N_V?swCT7OA1pu3bDyIMd

diff --git a/src/main/resources/store/server-openssl.cnf b/src/main/resources/store/server-openssl.cnf
new file mode 100644
index 0000000..7b1a0f2
--- /dev/null
+++ b/src/main/resources/store/server-openssl.cnf
@@ -0,0 +1,25 @@
+[req]
+default_bits       = 2048
+distinguished_name = req_distinguished_name
+req_extensions     = req_ext
+prompt             = no
+
+[req_distinguished_name]
+C  = YourCountry
+ST = YourState
+L  = YourCity
+O  = YourOrg
+OU = YourOrgUnit
+CN = your.server.com
+
+[req_ext]
+subjectAltName = @alt_names
+keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment, keyAgreement
+extendedKeyUsage = serverAuth
+basicConstraints = CA:FALSE
+subjectKeyIdentifier = hash
+
+[alt_names]
+DNS.1 = localhost
+IP.1  = 127.0.0.1
+DNS.2 = docker
\ No newline at end of file
diff --git a/src/main/resources/store/show_certs.sh b/src/main/resources/store/show_certs.sh
new file mode 100755
index 0000000..3cc8bbb
--- /dev/null
+++ b/src/main/resources/store/show_certs.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set -e
+
+ISSUER_ALIAS=xta-test-root-ca
+STORE_PASS=password
+
+function show_cert_by_alias {
+  local key_alias="$1"
+  keytool -exportcert -alias "$key_alias" -keystore "${key_alias}_keystore.p12" -file "${key_alias}.crt" -storepass "$STORE_PASS"
+  openssl x509 -in "${key_alias}.crt" -text -noout
+  rm "${key_alias}.crt" || true
+}
+
+openssl x509 -in "${ISSUER_ALIAS}.crt" -text -noout
+
+show_cert_by_alias xta-test-server
+show_cert_by_alias xta-test-client-john-smith
+
diff --git a/src/main/resources/store/xta-test-client-jane-doe_keystore.p12 b/src/main/resources/store/xta-test-client-jane-doe_keystore.p12
new file mode 100644
index 0000000000000000000000000000000000000000..0c0a1b20ac2922debfbbb7d973ddcdf6ecf068fc
GIT binary patch
literal 4236
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

literal 0
HcmV?d00001

diff --git a/src/main/resources/store/xta-test-client-john-smith_keystore.p12 b/src/main/resources/store/xta-test-client-john-smith_keystore.p12
new file mode 100644
index 0000000000000000000000000000000000000000..dab946317cc45fd93bf87b573e959fa86c0c1afa
GIT binary patch
literal 4240
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
F1OPlp!*l=u

literal 0
HcmV?d00001

diff --git a/src/main/resources/store/xta-test-server_keystore.p12 b/src/main/resources/store/xta-test-server_keystore.p12
index da0a1928782d51ed779ccdd59f8fa0e55db88834..b8937afa04dd5fa9322ac86830f990bbe4ec6f48 100644
GIT binary patch
literal 4202
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
Qjk~nqW8LYG#X(I(0R9)bY5)KL

literal 2859
zcmXqL;#Oy3WHxBxdcel1)#lOmotKfFaX}N;MV2P6vj$CECk>idTT!G~%UGINiwv4r
z^9-6;v)H(yx_G!4nHDs${5EJ}`EH=e#sw2*WHyjy5m8Is`OvP}srqS9#w-76-wrOH
z7d4fMnc;8%OB2h9<gWYDX?%0FC;u~f<@8nTuifpxbp?Fkf6VUOm}L1Z>O}JN{HfDk
zPT#bL$<tD^{Y((kKISWby1nksZeTR_bgF%jaxL=jrr^eWLswbzjhQzkZ_L#H*zsV6
z^{+_>YC_JahyPVMHu2oc&G{zENy4(H?)g0uepuNr9&oMw!Me3g?ivfV557xIO5W`0
znBvFe^<n?6swwtXNAuT+Hr?E!$?F=SdS}lRwgAx%hJ)w%zV4e9dh&Pajp_fHSl=Fv
z^ZB?>VRieWGM|m#3%Cv5?|HHGSi+67^2Wk9<FvmD%v4<xe>~=JtrDv+=cU;TxHp6t
zz1V%)VmhP7s&%cp>?U8YWWQaj`o4QfaI^9z-UXqBzwD(>rI;-`^2%DVe$vL7*RS|0
zMQ3?cm1~P!wp>?os`_F@=ea+s{8QCK@5D(cG@Uj1Y}+=eCfb@eL4NP|-#KOKQq@OI
zH$Jf1<5hR;t_6S1`Hn~HSt^Y#FI%U4T}k=V9sTBMOq!Y+t9u^BdANviPyc>&@}e!b
zA{QAi^m2$1s$)GRviRh+izz0lWoOi#bUus8dCoLZkU93HcuqTe$tthtLkt~ZFRTNm
zF0r%tb52V-@d=Onv1A7~0hLV2i~nu-rFU#Uv2Nu_x&Pjo{UvEx6DKrOuCS3k?W$Ka
zeIi583b$v5R&}9YoS%BBPrrVyB27ByYDcSGj;z4@uE@LEYajo8fA`!gb^ckwPvzJ4
zFW%L+$2an?dx^z{>jp_vpL8sk7q-CqfnL5$@}0j6I`2BoU~tSa7uYvZdy9H!+Ph`(
z28T8?_9?_ZiMgS4JZ*1@t;V+kQ{$By0xXWTAM%CgZ~HE~udC&(|NW5VhhA1O#ppk{
zwjri5Pw705f=-)PLay$<t0$KxOq-JSPf}sKWTL^s<owN_Cva37?W{j|Qef(Fwym$O
zM$a?aS^LalZcfD1pF0Csl&)W^F}uPT`FgGIrZl-0#tSz&!x&X`t}WQRcgErp&KXNp
zX1CnDkk=LExn(nli*&5oy>mKS`sOrzoz5uyYDt#XugA+Sq%<yj;+<3YXX~GOHt(e}
z8z=7Dv>}w+E1`@<<VvpLf>dU<w)IP<W+nvf*e+#vf@66rTim&0pAQy25XrmyZ?gZ6
z-1C~EwGTXVI#e4Q8os?&d80qcZtEGVE1T~sd26aYssFKYZTByOlqs&cUPq%3+~s2O
zPigzMn>&C0V(+vi`J8b(!lQL=oU`J+Qmb;He#@nE6BRtqcIa^XKM9`rzHC-gOW9|0
zsdf4R%q3Qz4#m7rKKEY7cGjm}*4-PL{c2n4Vn4oHu)dQ);d;o-yW)rE*@R^~ESXnv
zc5c_JW&E2@iZ8ZQxM5ZP?b~IMKO7ko%*3MnnIeA9m~uH=UAofnZ1HQB2(9uB{yML!
zlMl?VU-rW|?QQSO^h+gAdnRRWcl&VW!!@U(GtL^TElb(v^hST(vRH4zo_xXGZ!Z1q
zax>KwkN;=Ddi2P#b>(`R5nbN387jLrx_s|bYrXVdd5wu)PYLVI=eHlF?qLb?Uwc0&
zYEA6#uK4wulaA!<X!4%<YlqS0W`0@q57&=KoLugzvpq^-!ST9kp6Y`FyH=lGI@eqA
zZeqcfDFwxg^>*h>*m$V;YR{kOjdALd+j##R(y*Pc$hE_2mejI${2e_Hw8CUfw{Odc
zy&7N`V_*(1Dmg_Awd6DyDi}%_5*c(EN*GcZiWy26bQuyE3K$9)au_lhk{J>iN*FR3
z@)`0B6cHLl4MkXlLNaqx6%5VHEG^AVjLa<!42%t$SZ&~n*x42|vFaK$v1&3gG8i<m
zDj{STQA%GnQ0cowdaYOTf?VtKlh-o*T9_7)wYfb6T>3UNvAoDOHS8|RS{(A6Z--a8
z{L2RZ)V1APPG{>*Fj{)(?RqUO$z)5%JkO21`+tYN_Mgcsd*b1lZ{I?m{+ayp-yZj~
zZm&06O?G+tvftv%yw%->(RH$`1o~IUKKNiz=_B!~&GC(BpPBLG+@gOz|M~tLUM{&f
zruOOf>C2Q}YXycDHr)MsGK_7$ta|^At+&FB=R}-;WyU*Uy4Y*WCpW%b(=?3f$eg--
z-XQ_zEf3yGE@PYc=d0%&i-v$`g>rq}*3ydAnTaC1Ki%<~zd^aYdTIKJ8HO=;KSp*3
zU0TkzezW)<6U(o&7fjw@mpr-BKTtDt-v$0N9M_~I)&_4mH}m$@fH;e1p0e{hUuwla
z-nFJ_2H)DtJsTf3J6_nlRV8utjs<(3#V0Nc^l7`X_FaENqtx}Ry&M-ptgTXBRJ?u3
zwq~xpM%Sv-SJ&k3Q_3lS5XL;M;FH+zD1i@W?JluKZ;HBcnBj^=`JwQqqW{xFHtSyO
zvVOZN=Cwpb=I^DqcD@Wv_%Ez<ysoG(`9d1^{(om=CT{=3Ig>}z^vI8bmv_?+-`rjk
zvac!NrVjf-{;ksUs=XdJYrnQ!5x>7j{$o#B&SBZV)fF;=bKG?*JZEpomYMt~`rC@N
zPiLk$K8ikdsZMp}l?R4r&T07;8T6><-(~0Z<h8t#Cb6un>A=>$$VG)(H`QLsbgW*i
zTW4<Eo0G^{ueo{wU)&dwBdj^n9h<ukoVvI)(mgKhm(gbHbqscC868=hmL5(%9cg`i
zyWi<Y*A94Hx)#W<`+5GMzaL`MPk3McTc`0p`gi)e&BqE~cuf!782jeVkvT;fujM9*
z2y6?ydh!3KRHYw3Vl;W<GD_#Jtkl(C({8dT<xSC#!kY%Os+WfE5<I}|?Q__wLb%Z)
zNLFC8*k8L{(Q_Wu^e&NqYSJctWo_WO4{yKOHK@+p@#iJO%onF@QxZI0|6JcJXtYA8
z)8KyMo2<QyFNXO|oz=hVXGBBqVS)ZV77f28vhKz$d{FgFq^8Q0y+JF|=yT&IzbZl2
z|9do*JSQ!v`MPAIB9p}*X}!8$zTU)dO1#r8T^!c_mCthj_t0q858t5mUoVNR)YEhE
zKAYz3C?t2~p}Newd7BN~4j<U~RWK>5b$!vze~npkQ|3G`-ST11LY7~r1FCBcBy<k%
z4Qs!5EBI@yxQ7nYN6xKb?qLs^HZQfGQSN^7*7lvwjC<~FTjJ&!l)Wg}=>F2}F&*;x
zMh6+@$$K}QmTowEd*j;juy6UfS$7t{x&6S*;KdQm9H!@rpFZT7-Z8E0(-oem8!XYU
zmHw*qyl2~wsjp7i9*WrU-aS_`O*JiS`O-h#4D#Ql-5(mcZ&4A?_FiJ<8Q->^r$BYd
zr|(+6>s}gVZRgnFW1QC&$YOA*;K#+;Yc?L6)vmT!sBZl+)jaF+!+E^lQul_PN)o+)
z$l!y^!x(F0$Fq|}6fNiKd}f?szU;(pmz&x@B%W`dShGV#YThoTK<znN!7ErV`g!lL
ztt$0?Z5zE{*}dgm$KvcR)lYa5*B`t%;^mhunJUY6oPN$yJ#lejW#{PwVN(B(?dq)b
z|8l{+%F@Jn;b*QV$9^zOGkNu2dZ%hfm)N8jW263!FM<;m?t1gz{$3c5!jHpS*5`+u
zm0nlW^6!?h@#onA*WFnr+Wd85y?8gMf%lb2`T1Ap(<*-XCB2Ay@_tWRTlH_P4cQ^?
zv)Lyo2B<S8te?97vVom}q5&rxt2Q4qlN2ihi^xQ$``J%7pFY~P&tc-_yE|X8bJwP@
gh*))rp1*qR(sSK)yCff&A3E7}zSEzHnXzpF04cgl?*IS*

diff --git a/src/main/resources/store/xta-test-server_truststore.jks b/src/main/resources/store/xta-test-server_truststore.jks
deleted file mode 100644
index 0935b1e776a77b5caa7e8cfc4a6a02a9881d03b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1136
zcmezO_TO6u1_mYu1_nkjEmTpGs8EtxT#{O(P?VovqL7@(z`$5r$hb9<fi*(U)WDK~
zfkoAziAB+%iJ5Z&GZP~d69?1k0G55_t0o!nvT<s)d9;1!Wn|=LWiV)5ZpdxG$;KSY
z!Y0h*;%dlmzzgDV2(vk*7Ug8-!35ah0zw7?AQfD~oPPO5C5br-j_!ss22vm~Zed}!
z%)G?B<jlkzh2Z?0(vr;lykbLX14)o9v#?M^h@(OX#N|OCmpeNesvD@nUBt;KCXtd^
zl&zOknw*i5UzF#N2ev{lIX~AxPMp`s(9qD>z|g?dz`!6%oYxqcJA{1F#HfTE4UDV|
z%uS5^3<gb%Tue=jj113=OlHY>Nw;t{?wzXmJS<@M))dz?ZkN{Ik;(ZN-%Zlqt+l*P
z?1SFpd7oBCum9fjg@LK}et_t7)j}4|B5N*7Ue}Xyo}V_=Z`i$nC#U7pY!!xxWlnEY
z9$Gd}m2ypDY>3`|&wQ=;p7uRX%UO@M8!oT3N;EyjzroB@WNqTfJq|oc-wm0+Cb7Qy
z_O<8ljCQZpE;B3VCgm!#g(h7nk6&<vDLl;XR`-JTj8Fw_pMDL-goU%jO1JTsN{G#V
z<0R!%xLp6x9iNN~1)CN$pRfoN`+D}un$IFkUxOTKcDS=1)L6UeLi8TKlKs1PCkmaM
zt#M>y<2A{w$3chw9bB(rG0&Xkh}J<SW=00a#r_7q20U!cp|Zj(tOm@CjQ<T}K|DSd
zF%}V~*_r3pL>uH^sxnKBx1GGQ_PX$I18$HsKMM;p6Jwi!ARA{wn+Idt4<|-OkPrhq
za*%U_gPf6Jr`4N0XPxTw+Nj0d=eJi)Gf!l=o_ej?PrhH&epz(B<l94%65YpBiZ6Y=
z^JC2w%U-9?H^dlPijSXd$$Mk&zH7pjs@&KoZ5O+I&5!eJnl1Kmuf<sflX$InCfoML
z+C0|&c2YE=?2dW<!=o?Xh&N6XpI0X{={QrCPwo}&hmxybXI<DM?y6zC+d^}}ro4X*
zWs=j6_b%JJ@BMnI((Yx9M^DHzwq0Gm$IR>BoBsC`oA0i=ofg#KdwaL}<?qb1&ztFa
zt$dl$=6*}F>yE6|$u~CkI!w{~IUmjGwBKd7%kR(DwEL@mEaCmsp{#SN;*|e&sWT$V
syI&o@+tuv8{PG9mP!)OE%;|C3uc{s?JI~#pxb)6h&!-FrRJS+-0FB&{UjP6A

diff --git a/src/main/resources/store/xta-test_truststore.jks b/src/main/resources/store/xta-test_truststore.jks
new file mode 100644
index 0000000000000000000000000000000000000000..d3d62904abc6726da06f54b5cd083406e15d5444
GIT binary patch
literal 1083
zcmezO_TO6u1_mYu1_nkjEl^RCs9Ta+T%uc)pI@SzoXEhyIC<LA;tB@V2t88+O9lq!
zPX<lQ?+lult}S3@Vq{_xvD&}EHS*v4Gjr6B*3X;6@^qd-!VUvoHcqWJkGAi;jEvl@
z3<izOhTI06Y|No7Y{E<~u7;up!XOR@4^KphV@PUoNpMMGNvffUfe=WTorfDL?3`Ir
zX(((U2omMu;ev|#7o{7D8;F7gxq0{yf}wetC5Dm);vflT9)XAuM+K1C3PJh#B?``t
z26E!OMka<v2BwCFCgw(_QR2MDriO-w7EtaWab**u5_0e{vNA9?G4eAQG%<29H8C<W
zoK~})zqj#HhDYFQzxf>t?upMYtkOAh>s!K^XJWQ_>Mc_b3EmNry7hiRpwq6Gt5P%1
zOc6iRY{wLOd_lQ|U&5bNjhasv^~)R0xGVN8nER^*_sk8&wa?gA@IJq~vVO&}EACfv
z_HO?FMJ&H)x?Atbr3JIotaR%uLZbwK`D(tKwC#L?<-`3qbUe#uWj6h4biH9E*514-
zYUZ4{ZqJpRN4A#+Xzwh4u<7ik)$3Y!l^^r&RGGXaZ0&;j6JMCLCS5cRu+!1<N>Y$2
z)tCLlBe_iQa>p%Q|2>))pYq6VI(+!5%B(XyD~dmKz2#(@q!ybO@iIeA<PFcZ*wfQi
z$vmENe|uC!+X+J^W=00a#SsQ!;KU*;%*gnkg~Nc2k?}thBZC1S8*`{EKS+#)nTfH@
zK#+|yq0NJ_?S~U1BMS>N6BCPpEJz6-ix`VYf{gL9C7XP=UZ`IZtx<9$Ot$I69OSU)
z28TT(!_f;St*hJ@t$Oi3VdlYRGbvSbr>@(g$LcaR%SA2D=~!p-@`}ivBVW4LgmUYf
z-%v7FPDojrzD}^X^5&w6{zsA`xK>EqO;-QaRw?Rh#Kiey_0|`fKQ=I~e!j0%)Lutz
z#R8^Awi#7t56+o9`(8<{Xs6`AjMq9`eN7>oCzm_T=lJ)mJBiu2jJ4xd4O8Z?FCxB&
z)rDOa=6w05b!9!%#!1%xiI*=|obP4uHtjgH`s~J2=eG-eDPr`W<l=GVoZ``9eI}a#
z*>*eg{-#&$XWt5yFaCPz4~K@xkBgV)E<91*)qTz;F5r{xa!sC&GkqV*%a`-YgnW+U
nt*@w0f246e+>J&4#tUc82N8$84@D=lF{Gc)j=UObAeaUK_DF|o

literal 0
HcmV?d00001

diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml
index 3b93649..bec9257 100644
--- a/src/test/resources/application.yml
+++ b/src/test/resources/application.yml
@@ -10,10 +10,10 @@ server:
     key-store-password: password
     key-store-type: pkcs12
     # Alias im KeyStore
-    key-alias: xta-test-application
+    key-alias: xta-test-server
     key-password: password
     # enthaelt alle vertrauenswuerdigen Zertifikate
-    trust-store: classpath:store/xta-test-server_truststore.jks
+    trust-store: classpath:store/xta-test_truststore.jks
     trust-store-password: password
     trust-store-type: JKS
     # want, need, none; see org.springframework.boot.web.server.ClientAuth
-- 
GitLab


From 23a8eff64c81212e1095f16f90107a1fecc47da8 Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Fri, 6 Dec 2024 11:50:17 +0100
Subject: [PATCH 2/2] KOP-2850 POM: Support running spring-boot:build-image
 locally

---
 pom.xml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/pom.xml b/pom.xml
index 1d99389..6e5a224 100644
--- a/pom.xml
+++ b/pom.xml
@@ -406,6 +406,12 @@
 					<additionalProperties>
 						<wsdl.version>${wsdl.version}</wsdl.version>
 					</additionalProperties>
+					<image>
+						<env>
+							<HTTP_PROXY>${env.HTTP_PROXY}</HTTP_PROXY>
+							<HTTPS_PROXY>${env.HTTP_PROXY}</HTTPS_PROXY>
+						</env>
+					</image>
 				</configuration>
 				<executions>
 					<execution>
-- 
GitLab