通过SSL连接将Squirrel客户端连接到DB2服务器

时间:2015-09-21 17:03:52

标签: db2 squirrel-sql

我正在使用Squirrel 3.5.0客户端连接到DB2数据库。最近我改变了我的DB2以在SSL而不是普通的TCS / IP上运行。现在我希望Squirrel使用SSL端口连接到我的DB2服务器。所以我更新了连接字符串中的端口号。现在我需要将服务器证书添加到Squirrel客户端信任库中,以便它可以信任服务器连接,但我不知道该怎么做?有没有人对它有任何想法?

4 个答案:

答案 0 :(得分:0)

以防万一其他人正在尝试完成同样的事情:

  1. 找出JAVA_HOME路径。
  2. 运行以下命令

      

    keytool -importcert -file e:/certificateName.ext -keystore \ jre \ lib \ security \ cacerts

  3. 打开Squirrel,修改连接别名。在连接字符串末尾添加以下:sslConnection=true;

  4. 就是这样,现在您可以通过SSL连接数据库了。

答案 1 :(得分:0)

通过指定以下javax.net.ssl环境变量,我获得了成功。

-Djavax.net.ssl.trustStore=<pathto>\clientkeystore
-Djavax.net.ssl.trustStoreType=JKS
-Djavax.net.ssl.trustStorePassword=<password>

这可以通过几种方式完成,我选择将其添加到squirrel-sql.bat / squirrel-sql.sh启动脚本中:

e.g。

<强> 松鼠sql.bat

...
start "SQuirreL SQL Client" /B "%LOCAL_JAVA%" -Xmx256m -Dsun.awt.nopixfmt=true -Djavax.net.ssl.trustStore=C:/ssl/clientkeystore -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=password -Dsun.java2d.noddraw=true -cp %SQUIRREL_CP% -splash:"%SQUIRREL_SQL_HOME%/icons/splash.jpg" net.sourceforge.squirrel_sql.client.Main %TMP_PARMS%
...

警告:这只允许一次指定一个trustStore。然而,有很多工作:例如

  1. 将多个证书导入您的trustStore
  2. 导入根CA证书(e.g.
  3. 有不同的启动脚本
  4. 另请参阅: https://sourceforge.net/p/squirrel-sql/mailman/message/25794656/

答案 2 :(得分:0)

只需编辑别名即可。单击“属性”。然后选择Driver Properties并选择Use driver properties以添加这些属性:

具有真值的sslConnection。

sslTrustStoreLocation,其中jcekdb.jsk的路径为值。

sslTrustStorePassword,密码为值。

答案 3 :(得分:0)

对我有用的是一个看起来像这样的URL:

jdbc:db2://10.10.100.100:50010/DDEVD:sslConnection=true;sslTrustStoreLocation=C:/Data/db2trusttest/ts-02-new.jks;sslTrustStorePassword=changeit;

(注意结尾的分号)