Я пытаюсь подключиться к удаленному QM, используя SSL с компьютера AIX.
Я настроил свой QM и канал, чтобы разрешить соединения SSL.
Я создал KeyStore на сервере (машина, содержащая вышеупомянутый канал QM +), экспортировал самозаверяющий сертификат и импортировал сертификат с клиента.
Я использовал GSK на компьютере AIX для создания хранилища ключей, в котором присутствуют как самоподписанный, так и подписывающий сервер.
Код клиента, как показано ниже, при попытке подключения к QM. Этот код работает в Windows, однако не работает в AIX, что заставляет меня думать, что это проблема с сертификатом, которую я сделал неправильно, а не проблема кода.
CipherSpec - TLS_RSA_WITH_AES_256_CBC_SHA256
и расположение хранилища ключей правильное.
m_QChannel.setChannelName(m_strChannelName);
m_QChannel.setConnectionName(m_pParent->GetName());
m_QChannel.setTransportType( MQXPT_TCP );
if (!m_strCipherSpec.IsEmpty())
{
m_QChannel.setSslCipherSpecification(m_strCipherSpec);
if (!m_strKeyStore.IsEmpty())
{
m_QMgr.setKeyRepository(m_strKeyStore);
}
else
{
CString strKeyStore = getenv("MQSSLKEYR");
m_QMgr.setKeyRepository(strKeyStore);
}
}
//Set the queue manager options
m_QMgr.setName(m_strName);
m_QMgr.setChannelReference(&m_QChannel);
if (!m_QMgr.connect())
{
m_iLastError =m_QMgr.reasonCode( ) ;
return false;
}
Однако, когда я пытаюсь запустить приложение для подключения, я получаю сообщение об ошибке MQRC 2393. При проверке журналов ошибок он жалуется на сертификаты.
Я пытался перезапустить QM, перезапустить канал, обновить SSL, но все безуспешно. Что я пропустил?
Любая помощь приветствуется.