Привязка клиента Microsoft MQ в BizTalk Server вызывает сбой рукопожатия при SSL-соединении с IBM MQ

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

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

Следующая ошибка была выдана на BizTalk Server 2016 (CU6 установлен) с источником событий "HIS Microsoft Client for 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'. &P The channel is '????'; in some cases its name cannot be determined  and so is shown as '????'. 
The channel did not start. &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 Peer остается пустым.
  • Идентификатор пользователя остается пустым.

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

2 ответа

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

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

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

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

Клиент Microsoft MQ также может использовать другие хранилища сертификатов, например хранилище компьютеров или пользователей Windows, вместо базы данных ключей IBM. Кроме того, .NET автоматически выбирает шифр. Таким образом, для каналов может быть предпочтительнее иметь тип шифрования ANY_TLS12_OR_HIGHER.

Были некоторые известные проблемы с соединениями SSL между клиентом Microsoft MQ и клиентом IBM MQ.NET. Однако эти проблемы были или решаются, и их планируется включить в обновление адаптера HIS 2020 CU1 MQSC.

Существует также частное исправление, доступное по запросу в службу поддержки, которое улучшило ситуацию. Следовательно, возможно, лучше всего использовать последнюю версию клиента IBM MQI версии 9.2.x или 9.3.x и самое последнее частное исправление HIS 2020 MQSC. Альтернативно пользователи могут подождать выхода обновления CU1.

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