В настоящее время я подключаюсь к своей базе данных без использования SSL. Теперь я хочу использовать SSL. Как я его настроил, мой источник базы данных находится в config.
DB_SOURCE=jdbc:mysql://myDatabaseInfo:3306/DB_NAME?
DB_USER=dbUser
DB_PW=dbPw
Я могу заставить SSL-соединение работать, вызывая мою программу со следующими аргументами
-Djavax.net.ssl.trustStore=path\to\truststore
-Djavax.net.ssl.trustStorePassword=myPassword
Я также могу заставить его работать, изменяя переменные env в самом коде
dbSource += "?useSSL=true";
System.setProperty("javax.net.ssl.trustStore", "path\to\truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "myPassword");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(dbSource, dbUser, dbPw);
Однако моя цель - сделать SSL-соединение без внесения каких-либо изменений в мой код и без необходимости изменять аргументы VM, которые я использую. Есть ли способ, которым я могу указать источник, чтобы включить эту информацию?
Что-то вроде:
jdbc:mysql://myDatabaseInfo:3306/DB_NAME?useSSL=true&trustCertificateKeyStoreUrl=path\to\truststore&trustCertificateKeyStorePassword=myPassword
Я пробовал это точно, и он не работает, в идеале я мог бы просто добавить информацию в конфигурацию, которую у меня уже есть, чтобы мне не приходилось вносить изменения в несколько мест. Любые идеи?