【发布时间】:2012-12-08 09:54:40
【问题描述】:
我目前正在不使用 SSL 连接到我的数据库。我现在想使用 SSL。我设置它的方式是我的数据库源在配置中。
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
我完全尝试过,但它不起作用,理想情况下我可以将信息添加到我已经拥有的配置中,这样我就不必在多个地方进行更改。有什么想法吗?
【问题讨论】:
标签: java mysql database ssl truststore