【问题标题】:How to use liquibase cmd with db2 ssl connection?如何将 liquibase cmd 与 db2 ssl 连接一起使用?
【发布时间】:2020-02-24 10:24:36
【问题描述】:

我正在尝试使用

运行 liquibase 更新命令
liquibase --driver="com.ibm.db2.jcc.DB2Driver" --changeLogFile="masterchangelog.xml " --url="jdbc:db2://localhost:60001/SMDINTDB:retrieveMessageFromServerOnGetMessage=true;sslConnection=true;"  --username="" --password="" --classpath=/home/db2inst1/sqllib/java/db2jcc4.jar validate

但我收到以下错误。谁能帮我解决这个问题?如何指定证书的位置?

Unexpected error running Liquibase: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][4.26.14] A communication error occurred during operations on the connection's underlying socket, socket input stream,
or socket output stream.  Error location: Reply.fill() - socketInputStream.read (-1).  Message: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. ERRORCODE=-4499, SQLSTATE=08001

【问题讨论】:

  • 信息不足。您是否连接到 Db2-LUW 本地(或 Db2-warehouse-on-cloud)?编辑您的问题以指定您将哪个 jre 用于 liquibase,以及您是否为 SSL 配置了该 jre。

标签: jdbc db2 liquibase liquibase-hibernate db2-woc


【解决方案1】:

本地Db2-LUW SSL 与 jdbc 连接存在几个先决条件。 如果所有先决条件配置均已成功完成,liquibase 可以正确使用与本地 Db2-LUW 的 SSL 连接。这里有一些提示。

  • 必须已根据 IBM Db2 文档 here 为 SSL 配置目标 Db2-LUW 实例。如果您使用的是 IBM 提供的基于云的 Db2 服务,那么这已经为您完成了,尽管您可能需要在客户端使用 IBM 提供的根证书。

  • 您的客户端 JRE 需要根据 IBM 的 Db2-LUW 文档 here 进行配置。我将 IBM JRE(随 Db2-LUW 服务器提供)用于 liquibase。

  • 对于本地 Db2-LUW,您的客户端需要创建 java 密钥库,并将服务器的证书导入其中 (keytool -importcert -file /your/path/to/server_certificate ...)。

  • 对于您的特定错误,对于本地 Db2-LUW,您可以尝试连接字符串中的其他选项来告诉 JRE 如何访问您已将服务器证书导入其中的客户端密钥库。特别是sslTrustStoreLocation=/path/to/.keystore;sslTrustStorePassword=whatever;。请注意,如果使用 Db2-on-cloud 我不需要这些选项(一旦我将 DigiCertGlobalRootCA.crt 添加到我的密钥库(尽管这可能是不必要的),liquibase 可以与 SSL 正常工作到 Db2-on-cloud 中),但我没有尝试Db2-warehouse-on-cloud,因为我不使用该服务。

【讨论】:

  • 谢谢它解决了这个问题....我用这个命令提取证书keytool -import -trustcacerts -alias myalias -file server.arm -keystore mynewdbclient.jks
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 2019-11-05
  • 2019-06-26
  • 1970-01-01
相关资源
最近更新 更多