Я хочу загрузить server.ssl.key-store-password и server.ssl.trust-store-password из application.properties, а затем расшифровать пароль в коде Java, чтобы повторно использовать его в качестве исходного пароля для сертификата.
В application.prop у меня так:
#keystore details
server.ssl.key-store=src\\main\\resources\\serverkeystore.p12
server.ssl.key-store-password=secret
#truststore details
server.ssl.trust-store=src\\main\\resources\\servertruststore.p12
server.ssl.trust-store-password=secret
server.ssl.client-auth=need
Но сейчас я хочу изменить пароль
`
#keystore details
server.ssl.key-store=src\\main\\resources\\serverkeystore.p12
server.ssl.key-store-password=PEgC8MYwNKVUryuVekqa/A==
#truststore details
server.ssl.trust-store=src\\main\\resources\\servertruststore.p12
server.ssl.trust-store-password=PEgC8MYwNKVUryuVekqa/A==
server.ssl.client-auth=need`
А затем расшифровать его в коде Java и использовать повторнов качестве вывода «секрет» продолжить процесс.Я пытаюсь перезагрузить эти значения в свойствах таким образом:
System.setProperty("jdk.tls.client.protocols", "TLSv1.2");
System.setProperty("https.protocols", "TLSv1.2");
System.setProperty("javax.net.ssl.keyStoreType", DEFAULT_TYPE);
System.setProperty("javax.net.ssl.keyStore", serverKeyStorePath);
System.setProperty("javax.net.ssl.keyStorePassword", decryptedKSPassowrd);
System.setProperty("javax.net.ssl.trustStore", serverTrustStorePath);
System.setProperty("javax.net.ssl.trustStorePassword", decryptedTSKPassword);
Но это не работает, потому что происходит сбой с исключением:
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 8443 failed to start. The port may already be in use or the connector may be misconfigured.
Мне ясно, чтоtomcat загружает его впервые с указанными мною свойствами, а затем пытается перезагрузить его, когда tomcat уже запущен.Если я использую только первый случай, чтобы не расшифровать пароль, то он работает нормально, но мне нужно хранить его в зашифрованном виде, а затем расшифровать код внутри.
Не нашел подход или подобный код, как обращатьсяс этим.Как я могу передать эти параметры снова?