MQ 5.7 и IBM jre8, эквивалентный набор шифров для спецификации шифров "TRIPLE_DES_SHA_US"

Я пытаюсь подключить MQ7.5 с использованием IBM JRE-8 через SSL . В системе MQ они настроили TRIPLE_DES_SHA_US, и мы используем набор шифров SSL_RSA_WITH_3DES_EDE_CBC_SHA в моей Java-программе для подключения MQ.
Но это дает ниже данную ошибку.


    MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009

Steps i have followed
Certificated imported to truststore
executed java program with actual channel details of MQ.

Certificate Import to truststore:

    /opt/ibm/java-i386-80/jre/bin/keytool -import -alias jre_cert -file qms1.arm -keystore /opt/ibm/java-i386-80/jre/lib/security/cacerts
    Enter keystore password:
    Owner: CN="XXX, O=XXX, OU=XXX, C=IN"
    Issuer: CN="XXX, O=XXX, OU=XXX, C=IN"
    Serial number: 115d214a64b03f04
    Valid from: 1/17/17 12:36 PM until: 1/13/18 12:36 PM
    Certificate fingerprints:
         MD5:  1B:F1:6D:D1:88:5B:69:C0:B1:21:07:9C:FA:89:EC:2C
         SHA1: 77:DE:4A:66:72:77:34:CC:67:D1:3B:46:D5:1D:E3:B0:20:70:0E:5B
         SHA256: DE:F6:1C:96:4A:DE:9F:0C:AF:BF:73:52:1F:23:1A:49:E1:84:AE:3D:FD:97:0D:CF:FF:F3:C3:C7:D4:C0:9B:2E
         Signature algorithm name: SHA1withRSA
         Version: 3
    Trust this certificate? [no]:  yes
    Certificate was added to keystore

Sample Program we are using.

import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.MQC;
import javax.net.ssl.SSLContext;
import java.security.KeyStore;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManagerFactory;
import java.security.cert.*;
import java.util.ArrayList;
import java.util.Collection;
public class MQTest {
    private static MQQueueManager _queueManager = null;
    public static void main(String[] args) throws Exception {
    MQEnvironment.hostname = "XX.XX.XX.XX";
    MQEnvironment.channel = "CHANNEL.SVRCONN"; // With  SSL
    MQEnvironment.port = XXXX;

    System.setProperty("javax.net.debug", "ssl");
    String cacerts="/opt/jdk1.8.0_121/jre/lib/security/cacerts";
    System.setProperty("javax.net.ssl.trustStore", cacerts);
    System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
    MQEnvironment.sslCipherSuite = args[0];
    System.out.println("\t using ssl Cipher suite       :: " + MQEnvironment.sslCipherSuite);
    System.out.println("\t MQEnvironment.version_notice :: " + MQEnvironment.version_notice);
    MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);

    MQEnvironment.sslFipsRequired=false;
    _queueManager = new MQQueueManager("QUEUE_NAME");
  System.out.println("\t _queueManager                        : " + _queueManager);
  }
}

Журнал отладки:

/ opt / ibm / java-i386-80 / jre / bin / java -Dcom.ibm.jsse2.disableSSLv3 = false -jar MQ_Testing.jar TLS_RSA_WITH_3DES_EDE_CBC_SHA 
используя набор шифров ssl:: TLS_RSA_WITH_3DES_EDE_CBC_SHA
MQEnvironment.version_notice:: Классы Websphere MQ для Java V6.0.0
IBMJSSE2 разрешит протокол SSLv3 для com.ibm.jsse2.disableSSLv3 со значением FALSE
IBMJSSEProvider2 Уровень сборки: -20160616
Установленные провайдеры =
IBMJSSE2
IBMJCE
IBMJGSSProvider
IBMCertPath
IBMSASL
IBMXMLCRYPTO
IBMXMLEnc
IBMSPNEGO
СОЛНЦЕ
jdk.tls.client.protocols определяется как ноль
ПОДДЕРЖИВАЕТСЯ: [SSLv3, TLSv1, TLSv1.1, TLSv1.2]
SERVER_DEFAULT: [SSLv3, TLSv1, TLSv1.1, TLSv1.2]
CLIENT_DEFAULT: [SSLv3, TLSv1, TLSv1.1, TLSv1.2]
Хранилище ключей: /opt/ibm/java-i386-80/jre/lib/security/cacerts
Тип хранилища ключей: jks
Поставщик keyStore является:
хранилище ключей инициализации
менеджер ключей инициализации типа IbmX509
trustStore: /opt/jdk1.8.0_121/jre/lib/security/cacerts
Тип доверенного хранилища: jks
Поставщик trustStore - это:
init truststore
добавив в качестве доверенного сертификата:
Тема: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C= США
Эмитент: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C= США
Алгоритм: RSA; Серийный номер: 0xc3517
Действительно с пн 21 июня 09:30:00 IST 1999 до пн 22 июня 09:30:00 IST 2020
добавив в качестве доверенного сертификата:
Предмет: CN = GeoTrust Primary Certification Authority - G2, OU = (c) 2007
GeoTrust Inc. - Только для авторизованного использования, O=GeoTrust Inc., C=US. Эмитент: CN = GeoTrust Primary Certification Authority - G2, OU = (c) 2007
GeoTrust Inc. - Только для авторизованного использования, O=GeoTrust Inc., C=US.
Алгоритм: ЕС; Серийный номер: 0x3cb2f4480a00e2feeb243b5e603ec36b
Действительно с понедельника, 05 ноября, 05:30:00 IST 2007 года, до вторника, 19 января, 05:29:59 IST 2038.
------
------
-------
информация о нашем сертификате
---
-----
------
добавив в качестве доверенного сертификата:
Тема: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C= США
Эмитент: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
Алгоритм: RSA; Серийный номер: 0x33af1e6a711a9a0bb2864b11d09fae5
Действительно с четверг 1 августа 17:30:00 IST 2013 до пятницы 15 января 17:30:00 IST 2038
SSLContextImpl: использование X509ExtendedKeyManager com.ibm.jsse2.aw
SSLContextImpl: Использование X509TrustManager com.ibm.jsse2.aA
JsseJCE: Использование SecureRandom IBMSecureRandom от провайдера IBMJCE версии 1.8 вызвать посев SecureRandom
сделано посева SecureRandom
IBMJSSE2 включит защиту CBC
JsseJCE: Использование SecureRandom IBMSecureRandom от провайдера IBMJCE версии 1.8
JsseJCE: Использование KeyAgreement ECDH от провайдера IBMJCE версии 1.8
JsseJCE: Использование подписи SHA1 с ECDSA от провайдера TBD через init
JsseJCE: Использование подписи NONEwithECDSA от провайдера TBD через init
JsseJCE: Использование KeyFactory EC от провайдера IBMJCE версии 1.8
JsseJCE: Использование KeyPairGenerator EC от провайдера TBD через init
JsseJce: EC доступен
IBMJSSE2 разрешит повторное согласование RFC 5746 для com.ibm.jsse2.renegotiate со значением none или по умолчанию
IBMJSSE2 не потребует индикатор повторного согласования во время первоначального рукопожатия
per com.ibm.jsse2.renegotiation.indicator, установленный на OPTIONAL или принятый по умолчанию
IBMJSSE2 не будет выполнять проверку идентичности по сравнению с проверкой сертификата однорангового узла во время повторного согласования для com.ibm.jsse2.renegotiation.peer.cert.check, установленного в OFF или по умолчанию
IBMJSSE2 позволит клиенту инициировать повторное согласование в соответствии с jdk.tls.rejectClientInitiatedRenegotiation, установленным в FALSE или по умолчанию
IBMJSSE2 не допустит небезопасного изменения сертификата сервера во время повторного согласования для jdk.tls.allowUnsafeServerCertChange со значением FALSE или значением по умолчанию
Это начальное рукопожатие: правда
%% Нет кэшированного сеанса клиента
*** ClientHello, TLSv1
RandomCookie: GMT: 1473994730 байт = { 238, 137, 89, 128, 139, 82, 93, 119, 12, 104, 3, 150, 104, 218, 146, 252, 106, 230, 104, 227, 220, 195, 133, 177, 224, 70, 52, 127 }
Идентификатор сессии: {}
Наборы шифров: [SSL_RSA_WITH_3DES_EDE_CBC_SHA]
Методы сжатия: { 0 }
Расширение renegotiation_info, ri_length: 0, ri_connection_data: { null } ***
основной, НАПИШИТЕ: TLSv1 Рукопожатие, длина = 52
основной, ЧИТАЙТЕ: TLSv1 Рукопожатие, длина = 856
*** ServerHello, TLSv1
RandomCookie: GMT: 0 байтов = { 236, 88, 151, 94, 111, 9, 167, 185, 94, 81, 181, 148, 189, 136, 212, 113, 209, 109, 13, 193, 221, 127, 237, 75, 111, 58, 203, 130 }
ID сеанса: {75, 215, 26, 41, 91, 78, 235, 37, 238, 153, 145, 133, 191, 24, 212, 43, 48, 183, 29, 255, 224, 52, 234, 162, 108, 152, 170, 224, 17, 94, 63, 154}
Набор шифров: SSL_RSA_WITH_3DES_EDE_CBC_SHA
Метод сжатия: 0
Расширение renegotiation_info, ri_length: 0, ri_connection_data: { null } ***
JsseJCE: Использование MessageDigest MD5 от провайдера IBMJCE версии 1.8
JsseJCE: Использование SHA MessageDigest от провайдера IBMJCE версии 1.8
%% Initialized: [Session-1, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
** SSL_RSA_WITH_3DES_EDE_CBC_SHA
*** Цепочка сертификатов
цепочка [0] = [
[
Версия: V3
Тема: CN="XXX, O=XXX, OU=VIL, C=IN"
Алгоритм подписи: SHA1 с RSA, OID = 1.2.840.113549.1.1.5
Ключ: открытый ключ IBMJCE RSA:
модуль:

публичный экспонент:
65537
Срок действия: [От: Вт. 17 января 12:36:21 IST 2017,
Кому: Сб 13 января 12:36:21 IST 2018]
Эмитент: CN="XXX, O=XXX, OU=VIL, C=IN"
SerialNumber: [1251192874879434500]
]
Алгоритм: [SHA1 с RSA]
Подпись:
0000: 9c 7c 69 77 7b 26 59 e0 d3 10 0c d8 ae 10 b8 29.. iw..Y......... 0010: 3d a8 3e 63 e5 e0 49 aa 73 71 14 68 a1 5e a8 c3... c..I.sq.h.... 0020: 8e 55 ca f2 2f b2 21 00 c9 ac 6f 6e 9a 36 6a 39.U........ on.6j9 0030: 51 68 62 e5 23 e6 49 4a 8f d0 f5 25 16 a0 37 d5 Qhb... IJ...... 7. 0040: a4 99 ed c4 84 73 61 23 88 76 e7 d4 8e 1b d9 f0..... sa..v...... 0050: дд b8 e1 8f 21 c3 92 d7 8f b0 3c cc 42 98 17 50 ............B..P 0060: дБ 09 27 f9 1f 8b c1 29 68 e4 66 00 e2 9e b2 d3 ........hf.... 0070: bd 98 8e 95 00 80 eb d1 3b cf 24 1a 86 и 35 67.............. 5 г 0080: 59 3a 3f e0 20 e7 f0 94 c6 4a 0c 5c 1a de 2b 22 Y........J...... 0090: 6f 1c cb 23 08 55 1c 61 72 29 14 d8 7c 7b bf 31 o....U.ar......1 00a0: 0d d3 0a 38 e1 98 af 65 e5 7d 0f 9c d5 a5 3f 00 ...8...e........ 00b0: f4 b1 dd 89 89 9b 57 42 46 80 a5 7e 30 62 bd cf ......WBF...0b.. 00c0: d5 4b d1 33 df 10 55 ac 3a 46 6e d0 e6 df 7c 35 .K.3..U..Fn....5 00d0: b1 c2 81 ef d0 7b 6d f3 cc ff d1 ea 40 9f 6e 6c ...... м....... нл 00e0: 5d c6 8f 45 2a dd 7a 9d 47 de b4 6c 33 0d cf 51 ...E..zG.l3..Q 00f0: ad 68 54 aa 35 77 39 ed 4b 90 6e ee 46 f3 e0 81 .hT.5w9.KnF.. ]
***
Найден доверенный сертификат:
[
[
Версия: V3
Тема: CN="XXX, O=XXX, OU=VIL, C=IN"
Алгоритм подписи: SHA1 с RSA, OID = 1.2.840.113549.1.1.5
Ключ: открытый ключ IBMJCE RSA:
модуль:

публичный экспонент:
65537
Срок действия: [От: Вт. 17 января 12:36:21 IST 2017,
Кому: Сб 13 января 12:36:21 IST 2018]
Эмитент: CN="XXX, O=XXX, OU=VIL, C=IN"
SerialNumber: [1251192874879434500]
]
Алгоритм: [SHA1 с RSA]
Подпись:
0000: 9c 7c 69 77 7b 26 59 e0 d3 10 0c d8 ae 10 b8 29.. iw..Y......... 0010: 3d a8 3e 63 e5 e0 49 aa 73 71 14 68 a1 5e a8 c3... c..I.sq.h.... 0020: 8e 55 ca f2 2f b2 21 00 c9 ac 6f 6e 9a 36 6a 39.U........ on.6j9 0030: 51 68 62 e5 23 e6 49 4a 8f d0 f5 25 16 a0 37 d5 Qhb... IJ...... 7. 0040: a4 99 ed c4 84 73 61 23 88 76 e7 d4 8e 1b d9 f0..... sa..v...... 0050: дд b8 e1 8f 21 c3 92 d7 8f b0 3c cc 42 98 17 50 ............B..P 0060: дБ 09 27 f9 1f 8b c1 29 68 e4 66 00 e2 9e b2 d3 ........hf.... 0070: bd 98 8e 95 00 80 eb d1 3b cf 24 1a 86 и 35 67.............. 5 г 0080: 59 3a 3f e0 20 e7 f0 94 c6 4a 0c 5c 1a de 2b 22 Y........J...... 0090: 6f 1c cb 23 08 55 1c 61 72 29 14 d8 7c 7b bf 31 o....U.ar......1 00a0: 0d d3 0a 38 e1 98 af 65 e5 7d 0f 9c d5 a5 3f 00 ...8...e........ 00b0: f4 b1 dd 89 89 9b 57 42 46 80 a5 7e 30 62 bd cf ......WBF...0b.. 00c0: d5 4b d1 33 df 10 55 ac 3a 46 6e d0 e6 df 7c 35 .K.3..U..Fn....5 00d0: b1 c2 81 ef d0 7b 6d f3 cc ff d1 ea 40 9f 6e 6c ...... м....... нл 00e0: 5d c6 8f 45 2a dd 7a 9d 47 de b4 6c 33 0d cf 51 ...E..zG.l3..Q 00f0: ad 68 54 aa 35 77 39 ed 4b 90 6e ee 46 f3 e0 81 .hT.5w9.KnF.. ]
*** CertificateRequest
Типы сертификатов: RSA
Органы сертификации:

*** ServerHelloDone
ClientHandshaker: KeyManager com.ibm.jsse2.aw
*** Цепочка сертификатов
***
JsseJCE: Использование KeyGenerator IbmTlsRsaPremasterSecret от поставщика TBD через init
JsseJCE: Использование шифра RSA/SSL/PKCS1Padding от провайдера TBD через init
PreMasterSecret: использование шифра для переноса RSA/SSL/PKCS1Padding от провайдера из init IBMJCE версии 1.8
*** ClientKeyExchange, RSA PreMasterSecret, TLSv1
основной, ПИШИТЕ: TLSv1 Рукопожатие, длина = 269
СЕССИЯ КЕЙГЕН:
PreMaster Secret:
0000: 03 01 ca e5 e2 4f f5 ba fc e5 ef e7 f0 ce 11 41..... O......... A 0010: 1c 4f 8e b0 8b b0 1e 0f 25 96 85 a4 18 64 f4 22.O........... d.. 0020: ba 99 3c b2 08 64 b0 c0 0a 72 09 23 fe e8 67 48..... d... r.... gH
javax.crypto.spec.SecretKeySpec@13e668a
JsseJCE: Выберите KeyGenerator для IbmTlsMasterSecret.
JsseJCE: Использование KeyGenerator IbmTlsMasterSecret от поставщика TBD через init
JsseJCE: Использование KeyGenerator IbmTlsKeyMaterial от поставщика TBD через init
СОЕДИНИТЕЛЬНЫЙ КЕЙГЕН:
Клиент Nonce:
0000: 58 дБ 60 ea ee 89 59 80 8b 52 5d 77 0c 68 03 96 X..... Y..Rwh. 0010: 68 da 92 fc 6a e6 68 e3 dc c3 85 b1 e0 46 34 7f h... jh..... F4.
Одноразовый сервер:
0000: 00 00 00 00 ес 58 97 5e 6f 09 a7 b9 5e 51 b5 94..... X..o.... Q.. 0010: bd 88 d4 71 d1 6d 0d c1 dd 7f ed 4b 6f 3a cb 82... qm.... Ko...
Главный Секрет:
0000: 0a ca f1 d7 05 94 2e 07 1d 2a 27 bb e9 6a a2 дд............. j.. 0010: a1 70 32 ee 4c da 20 df c2 95 aa bd 2c e9 cd 02.p2.L........... 0020: 6b c7 17 9d bc 02 1f 22 31 a7 9b 78 ce 42 5b cf k....... 1..xB.
Секретный клиент MAC для записи:
0000: 5f 22 6c 73 aa 0c 89 b5 8c 55 f4 c2 2c 67 6a 83..ls..... U... gj. 0010: 56 с4 00 с6
V... Секретный сервер MAC записи:
0000: 3e d4 16 07 87 f4 75 73 bc 76 6a 78 2c 3e b5 3a...... us.vjx.... 0010: 4e 45 и e9
NE.. Ключ записи клиента:
0000: cd d0 2d 55 ca a3 62 92 78 13 a4 2d 9c 3a 79 a9... U..bx.... y. 0010: 5b 3f 03 97 06 33 3d ff..... 3..
Ключ записи сервера:
0000: e1 e8 89 c1 85 f5 09 32 25 75 19 дд 62 7a b2 c9....... 2.u..bz.. 0010: 7f 63 ab 28 2d 6d 5d 45.c... mE
Клиент пишет IV:
0000: дб 7f 8f 71 11 c5 1e b3... q.... Сервер записи IV:
0000: 9c 74 e2 ae d6 62 56 3f.t... bV.
JsseJCE: Использование KeyGenerator IbmTlsPrf от провайдера TBD через init
HandshakeMessage: TLS Keygenerator IbmTlsPrf от провайдера из init IBMJCE версии 1.8
main, WRITE: TLSv1 Изменить спецификацию шифра, длина = 1
JsseJCE: Использование шифра DESede/CBC/NoPadding от провайдера TBD через init
CipherBox: Использование шифра DESede/CBC/NoPadding от провайдера из init IBMJCE
версия 1.8 JsseJCE: Использование MAC HmacSHA1 от провайдера TBD через init
MAC: использование MessageDigest HmacSHA1 от провайдера IBMJCE версии 1.8
*** Закончено
verify_data: { 194, 19, 125, 188, 103, 19, 170, 48, 12, 172, 132, 24 } ***
основной, НАПИШИТЕ: TLSv1 Рукопожатие, длина = 40
основной, ЧИТАЙТЕ: TLSv1 Изменить спецификацию шифра, длина = 1
JsseJCE: Использование шифра DESede/CBC/NoPadding от провайдера TBD через init
CipherBox: Использование шифра DESede/CBC/NoPadding от провайдера из init IBMJCE
версия 1.8
JsseJCE: Использование MAC HmacSHA1 от провайдера TBD через init
MAC: использование MessageDigest HmacSHA1 от провайдера IBMJCE версии 1.8
основной, ЧИТАЙТЕ: TLSv1 Рукопожатие, длина = 40
*** Закончено
verify_data: {0, 3, 116, 83, 135, 81, 160, 25, 151, 242, 17, 213}
***
JsseJCE: Использование KeyGenerator IbmTlsPrf от провайдера TBD через init
HandshakeMessage: TLS Keygenerator IbmTlsPrf от провайдера из init IBMJCE версии 1.8
%% Кэшированный сеанс клиента: [Session-1, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
main, setSoTimeout (120000) называется
main, WRITE: TLSv1 Application Data, длина = 184
основной, ЧИТАЙТЕ: Данные приложения TLSv1, длина = 64
main, WRITE: данные приложения TLSv1, длина = 24
main, WRITE: TLSv1 Application Data, длина = 48
main, называется close ()
main, называется closeInternal (true)
main, ОТПРАВИТЬ TLSv1 ALERT: предупреждение, описание = close_notify
основной, WRITE: TLSv1 Alert, длина = 24
main, называется closeSocket (true)
MQJE001: возникла исключительная ситуация MQException: код завершения 2, причина 2009 г.
MQJE016: администратор очередей MQ закрыл канал сразу во время подключения Причина закрытия = 2009
MQJE001: возникла исключительная ситуация MQException: код завершения 2, причина 2009 г.
MQJE016: администратор очередей MQ закрыл канал сразу во время подключения Причина закрытия = 2009
Исключение в потоке "main" com.ibm.mq.MQException: MQJE001: произошло исключение MQException: код завершения 2, причина 2009
MQJE016: администратор очередей MQ закрыл канал сразу во время подключения Причина закрытия = 2009
в com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:212)
в com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:318)
в com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:338)
в com.ibm.mq.StoredManagedConnection.(StoredManagedConnection.java:84)
в com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:168)
в com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:772)
в com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:697)
в com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:657)
в com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:153)
на com.ibm.mq.MQQueueManager.(MQQueueManager.java:451)
в com.apalya.main.MQTest.main(MQTest.java:129)
Вызвано: com.ibm.mqservices.MQInternalException: MQJE001: произошло исключение MQException: код завершения 2, причина 2009
MQJE016: администратор очередей MQ закрыл канал сразу во время подключения Причина закрытия = 2009
в com.ibm.mq.MQv6InternalCommunications.checkControlFlags(MQv6InternalCommunications.java:740)
в com.ibm.mq.MQv6InternalCommunications.establishChannel(MQv6InternalCommunications.java:656)
в com.ibm.mq.MQv6InternalCommunications.initialize(MQv6InternalCommunications.java:206)
на com.ibm.mq.MQv6InternalCommunications.(MQv6InternalCommunications.java:102)
в com.ibm.mq.MQSESSIONClient.MQCONNX(MQSESSIONClient.java:1337)
в com.ibm.mq.MQSESSIONClient.MQCONN(MQSESSIONClient.java:1246)
в com.ibm.mq.MQManagedConnectionJ11. (MQManagedConnectionJ11.java:184)
... еще 10

Может кто-нибудь, пожалуйста, помогите / предложить по этому

0 ответов

Другие вопросы по тегам