Ошибка при подключении к DB2 с ibm_db по SSL - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь подключиться к DB2, используя модуль Python ibm_db с SSL, и получаю следующую ошибку

 conn = ibm_db.connect("DATABASE=myDB;HOSTNAME=xx.xx.xxx.xxx;PORT=nnn;PROTOCOL=TCPIP;SECURITY=SSL;SSLServerCertificate=./myFile.arm;UID=<username>;PWD=<password>;","","")
stmt = ibm_db.exec_immediate(conn, "delete from myschema.mytable")

Я получаю следующее исключение

   Exception: [IBM][CLI Driver] SQL30081N  A communication error has been detected. Communication protocol being used: "SSL".  Communication API being used: "SOCKETS".  Location where the error was detected: "".  Communication function detecting the error: "sqlccSSLSocketSetup".  Protocol specific error code(s): "414", "*", "*".  SQLSTATE=08001 SQLCODE=-30081

Я провел несколько часовпытаюсь отладить.Здесь не может быть никакого прогресса

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Tinniam,

Как создается ваше хранилище ключей gskit (т.е. .kdb) и stash-файл (т.е. .sth file - файл, хранящий зашифрованный пароль для хранилища ключей)?Было ли это создание локально с той же версией на клиентском компьютере, или оно было создано кем-то на другом компьютере с другой версией gskit?

Существует известная проблема несовместимости gskit (http://www -01.ibm.com/support/docview.wss?uid=swg22014693).Stash-файл, созданный в версии GSKit 8.0.50.69 и более поздних версиях, не может быть прочитан более низкой версией, и он вернет точно ошибку gskit 414.

Проверьте gskit, где создано ваше хранилище ключей и stash-файл, и версию, котораяклиент использует.В файле sqllib / gskit / bin есть инструмент gsk8ver_64, который сообщает вам версию.

Если вы действительно столкнулись с проблемой несовместимости, вам нужно либо обновить свой клиент, чтобы использовать версию Db2, на которой gskit включен.более новая версия границы ИЛИ: найдите более старую версию сервера Db2, такую ​​как 10.5 fp9, и сгенерируйте новое хранилище ключей и stash-файл с более низкой версией gskit.

ПРИМЕЧАНИЕ: более новая версия gskit может читать stash, созданный более низкойверсия.Но stash-файл, созданный 8.0.50.69 и более новыми версиями, недоступен для чтения в версии gskit ниже версии 8.0.50.69.

Надеюсь, это поможет решить вашу проблему.

Кевин См.

Команда безопасности гибридного облака Db2

0 голосов
/ 04 декабря 2018

Я бы порекомендовал выяснить, как настроена связь SSL / TLS, как управляется сертификат.

Ошибка, специфичная для SSL, задокументирована как проблема GSKit, связанная с сертификатами .Вы, наверное, проверили рекомендации на наличие ошибки SQL30081N .Ошибка SQL30081N даже содержит подробные сведения о протоколе для кодов ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...