現在、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
コード自体の環境変数を変更することで動作させることもできます
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);
ただし、私の目標は、コードを変更せずに、また使用するVM引数を変更せずにSSL接続を確立することです。この情報を含めるようにソースを設定する方法はありますか?
何かのようなもの:
jdbc:mysql://myDatabaseInfo:3306/DB_NAME?useSSL=true&trustCertificateKeyStoreUrl=path\to\truststore&trustCertificateKeyStorePassword=myPassword
私はこれを正確に試しましたが、機能しません。理想的には、すでに持っている構成に情報を追加するだけで、複数の場所で変更を加える必要がなくなります。何か案は?