Привязка клиента Microsoft MQ на сервере BizTalk, вызывающая сбой установления связи при подключении SSL к IBM MQ

#ssl #ibm-mq #biztalk #biztalk-2016 #msmqbinding

#ssl #ibm-mq #biztalk #biztalk-2016 #привязка msmq

Вопрос:

После успешного подключения к IBM MQ 9.1 с помощью клиента IBM MQ с использованием SSL мы пытаемся настроить ту же конфигурацию, но на этот раз с привязкой клиента Microsoft MQ.

Так что это должно быть просто, после HIS 2016 настройки (установлен CU2). Но не в моем случае.

На сервере BizTalk Server 2016 (установлен CU6) была выдана следующая ошибка с источником события «ЕГО клиент Microsoft для MQ»:

 Connecting to a Queue Manager failed: Could not Connect the Queue Manager 'test': Could not connect to the target Host/Port, SSL handshake failed.
 

На компьютере IBM MQ Server была выдана следующая ошибка:

 Internal error on call to SSL function on channel '????' to host '<ip address>'.  
An error indicating a software problem was returned from a function which is used to provide SSL or TLS support. 
The error code returned was '447'. The function call was 'gsk_secure_soc_init'. amp;P The channel is '????'; in some cases its name cannot be determined  and so is shown as '????'. 
The channel did not start. amp;P The remote host name is '<ip address>'.  
 

Таким образом, он выдает ошибку 447, которую IBM объясняет следующим образом:

 The TLS server or client encountered a communicating partner that does not support a TLS extension that is defined as required.  
Ensure that the TLS extension data is correctly defined, and that both the TLS server and client support the required extension. 
If the problem persists collect a System SSL trace and contact your service representative. 
 

Свойства транспорта MQSC в месте получения BizTalk выглядят примерно так:

  • Использовать клиент Microsoft MQ: Да
  • Спецификация SSL-шифрования: TLS_RSA_WITH_AES_256_CBC_SHA
  • Расположение хранилища ключей SSL: D:Somepathtocert
  • Тип транспорта: TCP
  • Имя узла SSL остается пустым.
  • Идентификатор пользователя остается пустым.

Я ничего не изменил в привязках, кроме, конечно, части «Использовать Microsoft MQ Client». Это рабочая настройка при использовании с клиентом IBM MQ с SSL. Поэтому мне интересно, почему вдруг он не будет работать с клиентом Microsoft MQ.

Комментарии:

1. Есть ли у вас какие-либо другие каналы tls SVRCONN, которые работают с тем же диспетчером очередей?

2. Следующая ссылка указывает, что в сертификате диспетчера очередей может возникнуть проблема: www-01.ibm.com/support/docview.wss?uid=ibm10794723

3. Да, несколько других. Некоторые с той же спецификацией шифрования, некоторые с другой спецификацией шифрования, а некоторые без настроенного SSL.

4. @JoshMc Если у сертификата есть проблема, почему тогда он работал на клиенте, принадлежащем IBM? Я готов попробовать, но это звучит странно.

5. В этом случае указан ли у вас сертификат клиента?

Ответ №1:

Спецификация SSL-шифрования не учитывается в клиенте MSFT MQ, в то время как клиент IBM MQ использует настроенный шифр.

Клиент MS MQ использует только стандартный шифр Windows (первый вариант в списке адаптеров), поэтому вам нужно установить тот же шифр в канале MQ, который вы используете.

это зависит от шифра по умолчанию в Windows, ваш IBM должен быть настроен.

Спасибо моему коллеге Никласу Энгфельту за тестирование этого.