Клиент .Net MQ не может подключиться к MQ через TLS CWSMQ0006E по причине 2538.C#

Место общения программистов C#
Ответить
Anonymous
 Клиент .Net MQ не может подключиться к MQ через TLS CWSMQ0006E по причине 2538.

Сообщение Anonymous »

У нас работает сервер MQ, и я пытаюсь подключиться к нему с помощью XMS. Использование .Net6. Я могу подключиться к каналу usecure и прочитать его. Но при подключении к другому защищенному каналу у меня возникают проблемы.
У меня есть действительный сертификат, импортированный в хранилище сертификатов Windows (с использованием mmc).
На сервере используется CipherSpec TLS_RSA_WITH_AES_256_GCM_SHA384.
Мой код для выполнения соединения:

Код: Выделить всё

                XMSFactoryFactory xff = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IBM.XMS.IConnectionFactory cf = xff.CreateConnectionFactory();
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "hostname");
cf.SetIntProperty(XMSC.WMQ_PORT, 1414);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "channelname");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "manager");
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, XMSC.WMQ_BROKER_V1);
cf.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "TLS_AES_256_GCM_SHA384");

IConnection conn = cf.CreateConnection();
После этого я получаю сообщение об ошибке IBM.XMS.XMSException: 'CWSMQ0006E с причиной 2538. Связанное исключение — MQRC_HOST_NOT_AVAILABLE.
В журналах сервера MQ я получаю следующее:

Код: Выделить всё

The SSL or TLS connection was closed by the remote host '255.255.255.255' during
the secure socket handshake. The channel is '????'; in some cases its name
cannot be determined and so is shown as '????'. The channel did not start.
ACTION:
Check the remote end of the channel for SSL and TLS errors. Fix them and
restart the channel.
Я не понимаю эту ошибку, поскольку указываю CipherSpec. У меня также есть действительный сертификат в хранилище ключей Windows. Я много читал об указании пути к файлу kbd, но мне нужно понять, как экспортировать сертификат в файл kbd.
Насколько я понимаю, приложение не может нашел мой сертификат и не смог правильно пожать руку из-за несовпадающей спецификации шифрования. Я попробовал несколько спецификаций шифрования, ни один из них не работает.
Если мне нужно предоставить дополнительную информацию, дайте мне знать.

Подробнее здесь: https://stackoverflow.com/questions/790 ... eason-2538
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»