From f92c4fb7b94be60c7288e0bcb5e67f690660dc6a Mon Sep 17 00:00:00 2001 From: rajesh Date: Mon, 23 Sep 2024 17:47:51 +0530 Subject: [PATCH] updated code for keys --- Dockerfile | 5 ----- .../config/SecurityConfig.java | 22 +++++++++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1f3b45a..ceacf16e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,4 @@ FROM amazoncorretto:17.0.8-alpine3.17 EXPOSE 8080 -# Create the folder in the docker image -RUN mkdir -pv /foldername/keys - -ADD /src/main/resources/dev/saml/public-cert.pem foldername/keys/public-cert.pem -ADD /src/main/resources/dev/saml/private-key.pem /foldername/keys/private-key.pem ADD /target/tendermanagement-0.0.1-SNAPSHOT.jar tendermanagement-0.0.1-SNAPSHOT.jar ENTRYPOINT ["java", "-jar","tendermanagement-0.0.1-SNAPSHOT.jar"] diff --git a/src/main/java/net/gepafin/tendermanagement/config/SecurityConfig.java b/src/main/java/net/gepafin/tendermanagement/config/SecurityConfig.java index 22ac7dff..ae30d29e 100644 --- a/src/main/java/net/gepafin/tendermanagement/config/SecurityConfig.java +++ b/src/main/java/net/gepafin/tendermanagement/config/SecurityConfig.java @@ -1,8 +1,8 @@ package net.gepafin.tendermanagement.config; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; +import java.io.FileNotFoundException; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.security.KeyFactory; import java.security.PrivateKey; import java.security.cert.CertificateFactory; @@ -235,8 +235,7 @@ public class SecurityConfig { public PrivateKey readPrivateKey() throws Exception { // Path to your private key PEM file - File privateKeyFile = new File("src/main/resources/dev/saml/private-key.pem"); - try (PemReader pemReader = new PemReader(new FileReader(privateKeyFile))) { + try (PemReader pemReader = new PemReader(new InputStreamReader(readKey("dev/saml/private-key.pem")))) { // Read the PEM content byte[] pemContent = pemReader.readPemObject().getContent(); // Decode the PEM content @@ -248,10 +247,19 @@ public class SecurityConfig { } public X509Certificate readCertificate() throws Exception { // Path to your certificate PEM fileFile - File certFile = new File("src/main/resources/dev/saml/public-cert.pem"); - try (InputStream inStream = new FileInputStream(certFile)) { + try (InputStream inStream = readKey("dev/saml/public-cert.pem")) { CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); return (X509Certificate) certFactory.generateCertificate(inStream); } } + + public InputStream readKey(String path) throws IOException { + ClassLoader classLoader = getClass().getClassLoader(); + InputStream inputStream = classLoader.getResourceAsStream(path); + + if (inputStream == null) { + throw new FileNotFoundException("file not found : "+path); + } + return inputStream; + } } \ No newline at end of file