diff --git a/persistence-modules/spring-boot-mysql/mysql-server/convertcerts.sh b/persistence-modules/spring-boot-mysql/mysql-server/convertcerts.sh
new file mode 100644
index 0000000000..eb3700e578
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/mysql-server/convertcerts.sh
@@ -0,0 +1,7 @@
+# Convert pem to jks file
+mkdir certs
+
+keytool -importcert -alias MySQLCACert.jks -file ./data/ca.pem \
+ -keystore ./certs/truststore.jks -storepass mypassword
+openssl pkcs12 -export -in ./data/client-cert.pem -inkey ./data/client-key.pem -out ./certs/certificate.p12 -name "certificate"
+keytool -importkeystore -srckeystore ./certs/certificate.p12 -srcstoretype pkcs12 -destkeystore ./certs/client-cert.jks
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-mysql/mysql-server/docker-compose.yml b/persistence-modules/spring-boot-mysql/mysql-server/docker-compose.yml
index 5c10ed29dd..8955cb2a2b 100644
--- a/persistence-modules/spring-boot-mysql/mysql-server/docker-compose.yml
+++ b/persistence-modules/spring-boot-mysql/mysql-server/docker-compose.yml
@@ -6,17 +6,14 @@ services:
container_name: mysql-db
command: [ "mysqld",
"--require_secure_transport=ON",
- "--ssl-ca=/etc/certs/root-ca.pem",
- "--ssl-cert=/etc/certs/server-cert.pem",
- "--ssl-key=/etc/certs/server-key.pem",
"--default_authentication_plugin=mysql_native_password",
"--general_log=ON" ]
ports:
- "3306:3306"
volumes:
- - type: bind
- source: ./certs
- target: /etc/certs/
+ - type: bind
+ source: ./data
+ target: /var/lib/mysql
restart: always
environment:
MYSQL_ROOT_HOST: "%"
diff --git a/persistence-modules/spring-boot-mysql/mysql-server/generatecerts.sh b/persistence-modules/spring-boot-mysql/mysql-server/generatecerts.sh
deleted file mode 100644
index b43a95e6c7..0000000000
--- a/persistence-modules/spring-boot-mysql/mysql-server/generatecerts.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-mkdir certs
-cd ./certs
-
-# Generate new CA certificate ca.pem file.
-openssl genrsa 2048 > root-ca-key.pem
-
-openssl req -new -x509 -nodes -days 3600 \
- -subj "/C=SE/ST=STOCKHOLM/L=Test/CN=fake-CA" \
- -key root-ca-key.pem -out root-ca.pem
-
-# Create the server-side certificates
-openssl req -newkey rsa:2048 -days 3600 -nodes \
- -subj "/C=SE/ST=STOCKHOLM/L=Test/CN=localhost" \
- -keyout server-key.pem -out server-req.pem
-openssl rsa -in server-key.pem -out server-key.pem
-openssl x509 -req -in server-req.pem -days 3600 \
- -CA root-ca.pem -CAkey root-ca-key.pem -set_serial 01 -out server-cert.pem
-
-# Create the client-side certificates
-openssl req -newkey rsa:2048 -days 3600 -nodes \
- -subj "/C=SE/ST=STOCKHOLM/L=Test/CN=localhost" \
- -keyout client-key.pem -out client-req.pem
-openssl rsa -in client-key.pem -out client-key.pem
-openssl x509 -req -in client-req.pem -days 3600 \
- -CA root-ca.pem -CAkey root-ca-key.pem -set_serial 01 -out client-cert.pem
-
-# Verify the certificates are correct
-openssl verify -CAfile root-ca.pem server-cert.pem client-cert.pem
-
-# Convert pem to jks file
-keytool -importcert -alias MySQLCACert.jks -file root-ca.pem \
- -keystore truststore.jks -storepass mypassword
-
-openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -out certificate.p12 -name "certificate"
-keytool -importkeystore -srckeystore certificate.p12 -srcstoretype pkcs12 -destkeystore client-cert.jks
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-mysql/pom.xml b/persistence-modules/spring-boot-mysql/pom.xml
index 239378c7b1..6c8266e034 100644
--- a/persistence-modules/spring-boot-mysql/pom.xml
+++ b/persistence-modules/spring-boot-mysql/pom.xml
@@ -42,4 +42,21 @@
8.0.23
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.1.5.RELEASE
+
+
+
+ repackage
+
+
+
+
+
+
\ No newline at end of file
diff --git a/persistence-modules/spring-boot-mysql/start_app.sh b/persistence-modules/spring-boot-mysql/start_app.sh
new file mode 100644
index 0000000000..2f126a9c88
--- /dev/null
+++ b/persistence-modules/spring-boot-mysql/start_app.sh
@@ -0,0 +1,13 @@
+export TRUSTSTORE=./mysql-server/certs/truststore.jks
+export TRUSTSTORE_PASSWORD=mypassword
+export KEYSTORE=./mysql-server/certs/client-cert.jks
+export KEYSTORE_PASSWORD=mypassword
+export SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/test_db?sslMode=VERIFY_CA
+export SPRING_DATASOURCE_USERNAME=test_user
+export SPRING_DATASOURCE_PASSWORD=Password2022
+
+java -Djavax.net.ssl.keyStore=$KEYSTORE \
+ -Djavax.net.ssl.keyStorePassword=$KEYSTORE_PASSWORD \
+ -Djavax.net.ssl.trustStore=$TRUSTSTORE \
+ -Djavax.net.ssl.trustStorePassword=$TRUSTSTORE_PASSWORD \
+ -jar ./target/spring-boot-mysql-0.1.0.jar
\ No newline at end of file