仅为mysql jdbc设置自定义SSL信任库

Sal*_*RYS 5 java mysql ssl jdbc

我希望能够通过SSL连接与JDBC连接到MySQL服务器.在MySQL文档指出,我们应该设置系统属性:

java System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");

实际上,它适用于MySQL.但是,一旦我设置了这些系统属性,我就无法对注册的网站进行常规的HTTPS调用.系统信任已被覆盖,我得到了SSLHandshakeException.

我希望能够仅为JDBC MySQL连接设置信任.任何常规HTTPS调用都应使用系统信任库.
怎么做到呢 ?

我发现这个问题可能导致答案,但看起来它不起作用.

Sal*_*RYS 6

事实证明,MySQL JDBC驱动程序允许覆盖这些属性作为连接URL的一部分.

所以我需要添加&trustCertificateKeyStoreUrl=file://path_to_truststore_file&trustCertificateKeyStorePassword=password到连接URL.