Учебник по Alex Fehners на developerWorks является немного старым (2005), но имеет образцы кода, которые должны работать на вас.
SSL configuration of the Websphere MQ Java/JMS client
Ваше Java приложение будет аутентифицировать QMGR на основании его сертификата. Это означает, что предоставленный вами файл jks должен иметь либо самозаверяющий сертификат QMgr, либо иметь корневой сертификат центра сертификации, который подписал сертификат QMgr. В любом случае вы указываете файл, используя -Djavax.net.ssl.trustStore=<location of trustStore>
, как указано в статье, приведенной выше. Если у jks есть пароль, вам также нужно указать -Djavax.net.ssl.trustStorePassword=<password>
. Аутентификация QMgr с доверительным магазином - всегда. Следующая часть может потребоваться или не потребоваться.
Другая часть головоломки заключается в том, что QMgr может потребовать, чтобы ваше приложение выдало сертификат. Другими словами, сертификат QMgr всегда аутентифицирован, является ли приложение обязательным для аутентификации, является необязательным. Если это так, то у вас есть так называемая «взаимная аутентификация». Если канал, к которому вы подключились, был настроен с SSLCAUTH(REQUIRED)
, тогда было включено взаимное аутентификация, и QMgr должен иметь самозаверяющий сертификат вашего приложения или корневой сертификат CA, который подписал сертификат вашего приложения в хранилище ключей. Надеюсь, кто-то, кто настроил ваш файл jks, устраивает это уже.
Предполагая, что требуется взаимное авторизация, у ваших jks будет помимо доверенного сертификата QMgr закрытый сертификат, представляющий ваше приложение. Чтобы получить приложение для получения сертификата и представить его в QMgr, вы используете параметрыи -Djavax.net.ssl.keyStorePassword=<password>
. Обратите внимание, что они говорят ключ магазин, в то время как предыдущие парты сказали доверие магазин.
Моя рекомендация - работать с администратором WMQ для настройки и проверки SSL-соединения. Первой фазой должно быть тестирование канала с помощью SSLCAUTH(OPTIONAL)
. Это подтверждает, что приложение может разрешать и проверять подлинность сертификата QMgr. Только когда вы получите эту работу, администратор WMQ затем изменит канал на SSLCAUTH(REQUIRED)
, который проверяет аутентификацию в обратном направлении.
Я бы высоко рекомендую вам использовать клиент WMQ v7 для нового приложения. Это происходит по двум причинам: 1) v6 - конец жизни по состоянию на сентябрь 2011 года; 2) код v7 имеет гораздо больше возможностей для диагностики. Клиентский код v7 полностью совместим с v6 QMgr и работает как клиент v6. Вы просто не получаете функциональность v7. Скачать код клиента WMQ бесплатно здесь:
IBM - MQC7: WebSphere MQ V7.0 Clients
Я бегу Лабораторию безопасности WMQ Hands-On в IMPACT в этом году и будет размещение сценариев и лаборатории руководство в выходные дни на http://t-rob.net так перепроверьте для что.
Я также сталкиваюсь с невозможностью подключиться к «TLS_RSA_WITH_AES_128_CBC_SHA», до сих пор нет решения, чтобы он работал бесшовно с Sun JDK? –