在JDBC代码中为DB2添加SSL服务器证书

时间:2019-02-19 11:21:20

标签: jdbc db2

我正在尝试通过SSL端口访问DB2实例。 我拥有访问它所需的证书。 但是我不确定是否需要将其添加到该参数以使连接成功。

Dataset<Row> data=session.read().jdbc("jdbc:db2://url:port/DBNAME"+":sslConnection=true"        
    , "db2inst1.JOB_STATUS", connectionProperties);

    connectionProperties.put("driver", "com.ibm.db2.jcc.DB2Driver");
    connectionProperties.put("url", "jdbc:db2://url:port/DBNAME");
    connectionProperties.put("user", "db2inst1");
    connectionProperties.put("password", "xxxxx");

连接到同一DB2实例的python代码是这样的:

"DATABASE=DB_NAME;HOSTNAME=url;SSL=TRUE;PORT=port;PROTOCOL=TCPIP;UID=xxxx;PWD=xxxx;SSLServerCertificate=DB2Certificate.arm;;SECURITY=SSL"

我想提供DB2Certificate.arm作为jdbc url的参数,类似于SSLServerCertificate的python参数。我该怎么办?

2 个答案:

答案 0 :(得分:1)

here以及here中介绍了如何配置JRE / JVM以将SSL与Db2一起用于Linux / Unix / Windows。

jdbc驱动程序的确切版本也会影响存在的配置选项(db2jcc4.jar,db2jcc.jar)。

请注意,配置JRE与配置CLI程序(例如Python)不同。

建议您尝试先阅读文档。

答案 1 :(得分:1)

以下网址对您有用吗?
jdbc:db2://url:port/DBNAME:sslConnection=true;sslCertLocation=/full_path/DB2Certificate.arm;