Настройка подключения SSL-канала на клиентском компьютере MQ

С сервера Linux с установленным MQ-клиентом пытаемся настроить подключение к защищенному каналу. Я человек ETL, и наш администратор MQ борется. В любом случае, я объясню, что я пробовал (что, очевидно, еще не сработало), и кто-нибудь, пожалуйста, дайте мне знать, что еще нужно сделать, чтобы настроить подключение. Спасибо :)

tmp/mqmutility/keyrepmodmq> ls
AMQCLCHL.TAB  key.kdb  key.rdb  key.sth  MODE_MODELTAP_DEV_keyStLst.txt

export MQSSLKEYR=/tmp/mqmutility/keyrepmodmq/key
export MQCHLLIB=/tmp/mqmutility/keyrepmodmq
export MQCHLTAB=AMQCLCHL.TAB

/opt/mqm/samp/bin> amqsputc <queue_name> <queue_manager_name>
Sample AMQSPUT0 start
MQCONN ended with reason code 2058

Примечание. Я могу подключиться к тому же диспетчеру очередей для канала без SSL. Любая помощь будет отличной, и другие подходы, которые вы используете для подключения SSL-канала с клиентского компьютера, также будут полезны.


person Shan Umasankar    schedule 08.06.2016    source источник
comment
подтвердите версию MQ, которую вы используете, и SSL/TLS — некоторые спецификации шифрования устарели.   -  person ValerieLampkin    schedule 10.06.2016
comment
Кроме того, эта ссылка объясняет настройку и может быть полезной: developer.ibm.com/answers/questions/250184/   -  person ValerieLampkin    schedule 10.06.2016
comment
Имя: WebSphere MQ Версия: 7.0.1.9 Уровень CMVC: p701-109-120718 Тип сборки: IKAP — (Производство)   -  person Shan Umasankar    schedule 13.06.2016
comment
Из вашего комментария ниже видно, что вы, возможно, не сделали шаг к ОПРЕДЕЛЕНИЮ КАНАЛА (имя) ТИПА (CLNTCONN) ..... Пожалуйста, покажите шаги, которые вы предприняли для создания файла .TAB в своем вопросе.   -  person Morag Hughson    schedule 14.06.2016
comment
Я обновил свой ответ некоторыми указателями на шаги, которые вы должны предпринять.   -  person Morag Hughson    schedule 14.06.2016


Ответы (1)


При использовании файла таблицы определения клиентских каналов (CCDT) — вашего файла AMQCLCHL.TAB — код возврата 2058 обычно означает, что имя диспетчера очередей, которое приложение пыталось использовать — ваше «queue_manager_name», — не было найдено ни в одной из записей канала. в файле CCDT.

Если вы используете. MQ V8 вы можете очень легко отобразить записи в файле CCDT и имена администраторов очередей, для которых они настроены, с помощью следующей команды:

runmqsc -n

DISPLAY CHANNEL(*) QMNAME

Если ни один из каналов в вашем файле не имеет имени диспетчера очередей, которое вы используете при запуске примера amqsputc, это является причиной вашего кода причины 2058.

Надеюсь, когда вы увидите записи в файле, в котором указано, какое имя администратора очередей вы должны использовать, станет ясно, но если нет, обновите свой вопрос, указав некоторые дополнительные сведения (например, содержимое указанного файла и сведения об администраторе очередей), и мы может помочь дальше.

Вы должны убедиться, что у вас есть определенный канал CLNTCONN с именем администратора очередей, которое вы хотите использовать в поле QMNAME, и что у вас есть канал с соответствующим именем SVRCONN, определенный в администраторе очередей. Поскольку вы используете SSL, вы также должны убедиться, что эти два канала используют один и тот же SSLCIPH.

Прочтите Создание подключения к серверу и определения клиентских соединений на сервере и его дочерние темы.

person Morag Hughson    schedule 12.06.2016
comment
версия MQ — Websphere MQ 7.0.1.9. Угадайте, что упомянутая вами команда недоступна в этой версии. - person Shan Umasankar; 13.06.2016
comment
В файле TAB много ненужных символов, но посмотрите, поможет ли это. Контент после удаления этих символов. AMQR SYSTEM.DEF.CLNTCONN 2p ‹;;@ M3.GAP.SCL mq4u-IL4UZ8T.lb.thec mq4u-IL4UZ8T.lb.thecompany.com,T TLS_RSA_WITH_AES_128_CBC_SHA CN=* - person Shan Umasankar; 13.06.2016
comment
Файл .TAB представляет собой двоичный файл — вы читаете его (как показывает мой ответ) с помощью runmqsc -n. Если вы не используете MQ V8, возьмите клиент MQ V8, чтобы вы могли его прочитать (и обновить). - person Morag Hughson; 14.06.2016
comment
Привет, Мораг. Да, но в моей организации, к сожалению, потребуется некоторое время, чтобы пройти этот маршрут, чтобы обновить клиент. :( Мой администратор MQ, тем не менее, хотел, чтобы мы попробовали другой маршрут, и попросил меня проверить с помощью команды AMQSSSLC [AMQSSSLC -m QM1 -c QM1SVRCONN -x localhost -k /tmp/key -s TLS_RSA_WITH_AES_128_CBC_SHA]. Когда я попробовал, он говорит, что нет SSL. найдена.Так что она предоставила SSL-сертификат и попросила нас иметь его на клиентской машине.Любая помощь в том, где разместить этот SSL-сертификат на машине с Linux, будет отличной.Спасибо за всю вашу помощь. - person Shan Umasankar; 15.06.2016
comment
Чтобы добавить к моему предыдущему комментарию, насколько я понимаю, этот сертификат должен быть частью файла ключа [key.kdb], предоставленного нам [клиентской машиной] администратором MQ. - person Shan Umasankar; 15.06.2016
comment
В своем вопросе вы сказали нам, что ваш файл key.kdb находится в /tmp/mqmutility/keyrepmodmq, поэтому я не уверен, почему вы изменили параметр -k, чтобы он указывал куда-то еще? Разве вы не должны говорить -k /tmp/mqmutility/keyrepmodmq/key - person Morag Hughson; 16.06.2016
comment
Если в вашем файле key.kbd на самом деле нет сертификата, обновите свой вопрос соответствующим образом, и мы можем предоставить шаги для помещения сертификата в KDB. - person Morag Hughson; 16.06.2016
comment
Да изменился в другое место сейчас. Если бы администратор MQ регенерировал сертификат, специфичный для идентификатора Linux, с которым я пытаюсь. Вот точная команда, которую я выполнил: amqssslc -m IL4UZ8T -c M3.GAP.SCL -x mq4u-IL4UZ8T.lb.mycompany.com -k /tmp/mqmutility/keyfiles_207334_DEV/key -s TLS_RSA_WITH_AES_128_CBC_SHA Ключевые файлы в каталоге: / tmp/mqmutility/keyfiles_207334_DEV/key.sth /tmp/mqmutility/keyfiles_207334_DEV/key.rdb /tmp/mqmutility/keyfiles_207334_DEV/key.kdb - person Shan Umasankar; 16.06.2016
comment
Сообщение об ошибке выполнения команды в комментарии выше: MQCONNX завершился с кодом причины 2538 Канал 'M3.GAP.SCL' не предоставил сертификат для использования во время квитирования SSL, но сертификат требуется удаленному администратору очередей. Канал не запустился. Я задал тот же вопрос своему администратору, есть ли у kdb соответствующий сертификат, и она ответила «да». Так что не знаю, как поступить, - person Shan Umasankar; 16.06.2016
comment
Все эти комментарии только сбивают с толку. Пожалуйста, не могли бы вы отредактировать свой вопрос, указав, каково ваше последнее положение дел, какие команды вы дали и т. д., и тогда мы сможем попытаться разобраться в этом. - person Morag Hughson; 17.06.2016