通过 SSL 连接将 Squirrel 客户端连接到 DB2 服务器
Connecting Squirrel Client to DB2 Server over SSL Connection
我正在使用 Squirrel 3.5.0 客户端连接到 DB2 数据库。最近我将我的 DB2 更改为基于 SSL 的 运行 而不是正常的 TCS/IP。现在我希望 Squirrel 使用 SSL 端口连接到我的 DB2 服务器。所以我更新了连接字符串中的端口号。现在我需要将服务器证书添加到 Squirrel 客户端信任库中,以便它可以信任服务器连接,但我不知道该怎么做?有人对此有任何想法吗?
以防万一其他人正在尝试完成同样的事情:
- 找出
JAVA_HOME
路径。
运行以下命令
keytool -importcert -file e:/certificateName.ext -keystore \jre\lib\security\cacerts
打开松鼠,修改连接别名。在连接字符串的末尾附加以下 :sslConnection=true;
就是这样,现在您可以通过 SSL 连接数据库了。
我成功指定了以下 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
启动脚本中:
例如
松鼠-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。然而,有很多解决方法:例如
- 将多个证书导入您的信任库
- 导入根 CA 证书(e.g.)
- 有不同的启动脚本
另请参阅: https://sourceforge.net/p/squirrel-sql/mailman/message/25794656/
只需编辑您的别名。单击属性。然后是驱动程序属性并选择使用驱动程序属性来添加这些属性:
具有真实值的 sslConnection。
sslTrustStoreLocation 将您的 jcekdb.jsk 路径作为值。
sslTrustStorePassword 以您的密码作为值。
对我有用的 URL 看起来像这样:
jdbc:db2://10.10.100.100:50010/DDEVD:sslConnection=true;sslTrustStoreLocation=C:/Data/db2trusttest/ts-02-new.jks;sslTrustStorePassword=changeit;
(注意结尾的分号)
我正在使用 Squirrel 3.5.0 客户端连接到 DB2 数据库。最近我将我的 DB2 更改为基于 SSL 的 运行 而不是正常的 TCS/IP。现在我希望 Squirrel 使用 SSL 端口连接到我的 DB2 服务器。所以我更新了连接字符串中的端口号。现在我需要将服务器证书添加到 Squirrel 客户端信任库中,以便它可以信任服务器连接,但我不知道该怎么做?有人对此有任何想法吗?
以防万一其他人正在尝试完成同样的事情:
- 找出
JAVA_HOME
路径。 运行以下命令
keytool -importcert -file e:/certificateName.ext -keystore \jre\lib\security\cacerts
打开松鼠,修改连接别名。在连接字符串的末尾附加以下
:sslConnection=true;
就是这样,现在您可以通过 SSL 连接数据库了。
我成功指定了以下 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
启动脚本中:
例如
松鼠-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。然而,有很多解决方法:例如
- 将多个证书导入您的信任库
- 导入根 CA 证书(e.g.)
- 有不同的启动脚本
另请参阅: https://sourceforge.net/p/squirrel-sql/mailman/message/25794656/
只需编辑您的别名。单击属性。然后是驱动程序属性并选择使用驱动程序属性来添加这些属性:
具有真实值的 sslConnection。
sslTrustStoreLocation 将您的 jcekdb.jsk 路径作为值。
sslTrustStorePassword 以您的密码作为值。
对我有用的 URL 看起来像这样:
jdbc:db2://10.10.100.100:50010/DDEVD:sslConnection=true;sslTrustStoreLocation=C:/Data/db2trusttest/ts-02-new.jks;sslTrustStorePassword=changeit;
(注意结尾的分号)