Подключение Squirrel Client к серверу DB2 через соединение SSL

Я использую клиента Squirrel 3.5.0 для подключения к базе данных DB2. Недавно я изменил свою DB2 для работы по SSL вместо обычного TCS/IP. Теперь я хочу, чтобы Squirrel подключился к моему серверу DB2 через порт SSL. Поэтому я обновил номер порта в строке подключения. Теперь мне нужно добавить сертификат сервера в доверенное хранилище клиента Squirrel, чтобы оно могло доверять соединению с сервером, но я не знаю, как это сделать? У кого-нибудь есть идеи по этому поводу?

3 ответа

Решение

На всякий случай, если кто-то еще пытается сделать то же самое:

  1. Узнайте JAVA_HOME дорожка.
  2. Запустите следующую команду

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

  3. Откройте Squirrel и измените псевдоним соединения. В конце строки подключения добавьте следующее :sslConnection=true;

  4. Вот и все, теперь вы можете подключиться к базе данных по SSL.

Что мне подходит, так это URL-адрес, который выглядит так:

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

(обратите внимание на конечную точку с запятой)

Я имел успех, указав следующее 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 одновременно. Однако есть много способов обойти

  1. Импортируйте несколько сертификатов в ваш trustStore
  2. Импортируйте корневой сертификат CA ( например)
  3. Иметь разные стартовые скрипты

Смотрите также: https://sourceforge.net/p/squirrel-sql/mailman/message/25794656/

Просто измените свой псевдоним. Нажав на свойства. Затем Свойства драйвера и выберите Использовать свойства драйвера для добавления этих свойств:

sslConnection с истинным значением.

sslTrustStoreLocation с путем к вашему jcekdb.jsk в качестве значения.

sslTrustStorePassword с вашим паролем в качестве значения.

Другие вопросы по тегам