java 如何使用 CA 证书连接数据库

How to use CA certificate to connect to database in java

目前我正在连接到不需要 CA 证书的数据库,如下所示:

input = new FileInputStream("path/to/properties/file");
prop.load(input);

Class.forName(prop.getProperty("JDBC_DRIVER"));
conn = DriverManager.getConnection(prop.getProperty("DB_URL"), prop.getProperty("USER"), prop.getProperty("PASS"));

现在要求已经改变,我必须使用我拥有的 CA 证书连接到数据库。 现在我正在尝试以下操作:

String url = prop.getProperty("DB_URL")+"?verifyServerCertificate=false"+"&useSSL=true"+"&requireSSL=true";
Class.forName(prop.getProperty("JDBC_DRIVER"));
conn = DriverManager.getConnection(url, prop.getProperty("USER"), prop.getProperty("PASS"));

你能告诉我如何提供CA证书的路径并成功连接到数据库吗?

我能够弄清楚如何使用 SSL(CA 证书)连接到数据库:

input = new FileInputStream("path/to/properties/file");
    prop.load(input);

    Class.forName(prop.getProperty("JDBC_DRIVER"));
    System.getProperties().setProperty("javax.net.ssl.trustStore",
            "/path_to_certificate");
    String url = prop.getProperty("DB_URL")
            + "?verifyServerCertificate=false" + "&useSSL=true"
            + "&requireSSL=true"; 
    return DriverManager.getConnection(url, prop.getProperty("USER"),
            prop.getProperty("PASS"));

这个对我有用。