diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/MongodbCertificateLoader.java b/user-manager-server/src/main/java/de/itvsh/kop/user/MongodbCertificateLoader.java index 6ae4f5ce07be33485e363675982f257ce74a2e05..e19bfa1722df7ed4d24526c561008ea5d408ec5c 100644 --- a/user-manager-server/src/main/java/de/itvsh/kop/user/MongodbCertificateLoader.java +++ b/user-manager-server/src/main/java/de/itvsh/kop/user/MongodbCertificateLoader.java @@ -1,7 +1,10 @@ package de.itvsh.kop.user; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Paths; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; @@ -13,6 +16,7 @@ import javax.enterprise.event.Observes; import org.apache.commons.io.IOUtils; import org.eclipse.microprofile.config.inject.ConfigProperty; +import de.itvsh.kop.common.errorhandling.TechnicalException; import io.quarkus.runtime.StartupEvent; @ApplicationScoped @@ -22,9 +26,21 @@ class MongodbCertificateLoader { String mongoDbCaCert; void onStart(@Observes StartupEvent ev) throws KeyStoreException, CertificateException, IOException, NoSuchAlgorithmException { - System.out.println("loading cert..."); - KeyStore keystore = KeyStore.getInstance("pkcs12"); - keystore.load(IOUtils.toInputStream(mongoDbCaCert, Charset.defaultCharset()), null); - System.out.println("cert loaded"); + if(Files.exists(Paths.get(mongoDbCaCert))) { + System.out.println("loading cert..."); + KeyStore keystore = KeyStore.getInstance("pkcs12"); + keystore.load(loadCaCrt(), null); + System.out.println("cert loaded"); + } else { + System.out.println("cert file does not exists"); + } + } + + InputStream loadCaCrt() { + try { + return Files.newInputStream(Paths.get(mongoDbCaCert)); + } catch (IOException e) { + throw new TechnicalException("Error loading caCert", e); + } } }