Конфигурирайте SSL между Websphere App Server и Websphere MQ

Опитвам се да се свържа с WMQ от проста уеб услуга, стартирана на сървър за приложения WebSphere.

На WMQ имам канал с SSL. Засега използвам самоподписани сертификати.

В случай на стъклена рибка, аз просто добавям този сертификат към хранилището на ключове в домейна и всичко работи добре (не защото конфигурирам моята MQQueueConnectionFactory).

Но на WebSphere този трик не работи:

[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O %% Invalidated:  [Session-94, SSL_RSA_EXPORT_WITH_RC4_40_MD5]
[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O jmsContainer-1, SEND SSLv3 ALERT:  fatal, description = certificate_unknown
[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O jmsContainer-1, WRITE: SSLv3 Alert, length = 2
[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O [Raw write]: length = 7
[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O 0000: 15 03 00 00 02 02 2e                               .......

[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O jmsContainer-1, called closeSocket()
[5/13/13 14:00:25:058 FET] 00000060 SystemOut     O jmsContainer-1, handling exception: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: PKIX path building failed: java.security.cert.CertPathBuilderException: unable to find valid certification path to requested target
[5/13/13 14:00:25:058 FET] 00000060 DefaultMessag E org.springframework.jms.listener.DefaultMessageListenerContainer refreshConnectionUntilSuccessful Could not refresh JMS Connection for destination 'fromESB' - retrying in 5000 ms. Cause: JMSWMQ0018: Failed to connect to queue manager 'qm1' with connection mode 'Client' and host name '192.168.56.101(1414)'.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2397' ('MQRC_JSSE_ERROR').

Как да конфигурирам сървъра на приложения на WebSphere да използва ssl (как да добавя сертификат на сървър (WMQ) към хранилище за доверие? или къде е хранилището за доверие?)?


person Ruslan    schedule 13.05.2013    source източник


Отговори (1)


Добре. Решавам това сам.

Конфигурирайте WMQ:

  1. Създайте хранилище за ключове

    runmqckm -keydb -create -db "c:\dev\sslqm001\sslqm001.kdb" -pw serverpass -type cms -expire 365 -stash

  2. Създайте сертификат и го добавете към хранилището на ключове

    runmqckm -cert -create -db "c:\dev\sslqm001\sslqm001.kdb" -pw serverpass -label ibmwebspheremqssl_qm001 -dn "CN=SSL_QM001,OU=IT,O=SomeCompany,L=Минск,ST=Беларус,C= BY" -изтича 365

  3. Експортирайте този сертификат от хранилището на ключове във файл.

    runmqckm -cert -extract -db "c:\dev\sslqm001\sslqm001.kdb" -pw serverpass -label ibmwebspheremqssl_qm001 -target SSL_QM001.crt -format ascii

  4. В настройките на диспечера на опашката раздел „SSL“ задайте пътя до хранилището на ключове без .kdb и FIPS на Не:

    ALTER QMGR SSLKEYR('c:\dev\sslqm001\sslqm001') ALTER QMGR SSLFIPS(NO)

  5. Създайте нов канал

  6. В настройките на канала разделът „SSL“ зададе шифър на някаква стойност (с работи за мен: DES_SHA_EXPORT) и удостоверяването на незадължително

    DEFINE CHANNEL('SSL_CHANNEL') CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCIPH(DES_SHA_EXPORT) SSLCAUTH(НЕЗАДЪЛЖИТЕЛНО) REPLACE

  7. В Queue Manager опреснете SSL:

    ОБНОВЯВАНЕ НА ТИПА ЗАЩИТА (SSL)

Променете контекста на приложението си:

<bean id="mqConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
    <property name="hostName" value="${queue_hostname}"/>
    <property name="port" value="${queue_port}"/>
    <property name="queueManager" value="${queue_manager}"/>
    <property name="transportType" value="1"/>
    <property name="SSLCipherSuite" value="SSL_RSA_EXPORT_WITH_RC4_40_MD5"/>
    <property name="channel" value="ssl_channel"/>
</bean>

Настройте SSL на WAS

  1. Go To:

    Сигурност → SSL сертификат и управление на ключове → SSL конфигурации → NodeDefaultSSLSettings → Ключови хранилища и сертификати → NameOfStore → Подписващи сертификати

  2. Добавете своя сертификат, който експортираме в стъпка 3

person Ruslan    schedule 30.05.2013