У меня есть действительный сертификат, импортированный в хранилище сертификатов 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();
В журналах сервера 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.
Насколько я понимаю, приложение не может нашел мой сертификат и не смог правильно пожать руку из-за несовпадающей спецификации шифрования. Я попробовал несколько спецификаций шифрования, ни один из них не работает.
Если мне нужно предоставить дополнительную информацию, дайте мне знать.
Подробнее здесь: https://stackoverflow.com/questions/790 ... eason-2538
Мобильная версия