From db4308dd29cb3b9b9686cf95c490e7fe108e055b Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Sun, 18 Feb 2024 16:37:12 +0200 Subject: [PATCH] Added server-side additional code to support HTTPS protocol with self-signed cert --- pom.xml | 14 +++++++++++++- .../me/imsonmia/epqapi/EpqapiApplication.java | 4 ++++ src/main/resources/application.properties | 8 ++++++++ src/main/resources/key/cert.p12 | Bin 0 -> 4403 bytes 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/key/cert.p12 diff --git a/pom.xml b/pom.xml index 104015f..14b8bb3 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,19 @@ org.springframework.boot spring-boot-starter-websocket - + + + org.apache.httpcomponents + httpcore + 4.4.11 + + + + org.apache.httpcomponents + httpclient + 4.5.9 + + diff --git a/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java b/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java index d4ef329..4896604 100644 --- a/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java +++ b/src/main/java/me/imsonmia/epqapi/EpqapiApplication.java @@ -1,10 +1,14 @@ package me.imsonmia.epqapi; +import javax.net.ssl.SSLContext; + +import org.apache.tomcat.jni.SSL; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 11ba37c..8118b59 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -13,3 +13,11 @@ spring.jpa.show-sql: true # validate for semi-production # none for serious prod scenarios spring.jpa.hibernate.ddl-auto=update + +server.ssl.key-store-type=PKCS12 +server.ssl.key-store=classpath:key/cert.p12 +server.ssl.key-store-password=epqchat +server.ssl.enabled=true + +trust.store=classpath:key/cert.p12 +trust.store.password=epqchat \ No newline at end of file diff --git a/src/main/resources/key/cert.p12 b/src/main/resources/key/cert.p12 new file mode 100644 index 0000000000000000000000000000000000000000..27bf3b9cc718e56eae345c756b103bb5f46e47bd GIT binary patch literal 4403 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 literal 0 HcmV?d00001