【问题标题】:SSL not working with IBM MQ 8 client jarsSSL 不适用于 IBM MQ 8 客户端 jar
【发布时间】:2016-07-11 13:08:25
【问题描述】:

SSL 适用于 IBM MQ 6 客户端 jar,但相同的代码不适用于 IBM 8 jar。是否有人遇到过 IBM 8 客户端 jar 的问题。

代码:

            com.ibm.mq.MQQueueManager qmRequest = null;
            com.ibm.mq.MQQueue qRequest = null;

            com.ibm.mq.MQMessage reqMsg = new com.ibm.mq.MQMessage();
            reqMsg.writeString(new String("first MQ SSL Message test"));
            reqMsg.messageId = "1".getBytes();
            reqMsg.correlationId = "2".getBytes(); 



            System.setProperty("javax.net.ssl.trustStore", "D:/keystore/testKS.jks");
            System.setProperty("javax.net.ssl.trustStorePassword", "12345678");
            System.setProperty("javax.net.ssl.keyStore", "D:/keystore/testKS.jks"); 
            System.setProperty("javax.net.ssl.keyStorePassword", "12345678"); 
            Hashtable<String,Object> propMap = new Hashtable<String,Object>();

            propMap.put(MQConstants.HOST_NAME_PROPERTY, "localhost");
            propMap.put(MQConstants.PORT_PROPERTY,  1415);
            propMap.put(MQConstants.CHANNEL_PROPERTY, "testG");
            propMap.put(MQConstants.SSL_PEER_NAME_PROPERTY, "CN=ibmwebspheremqtestqu");

            String qmNameRequest = "testQu";
            String qNameRequest = "testQQ";
            propMap.put(MQConstants.SSL_CIPHER_SUITE_PROPERTY,  "TLS_RSA_WITH_AES_128_CBC_SHA");
            qmRequest = new com.ibm.mq.MQQueueManager(qmNameRequest,propMap);

            int reqQueueOpt = MQConstants.MQOO_OUTPUT | MQConstants.MQOO_SET_IDENTITY_CONTEXT;
            qRequest = qmRequest.accessQueue(qNameRequest, reqQueueOpt);
            reqMsg.messageType = MQConstants.MQMT_DATAGRAM;
            com.ibm.mq.MQPutMessageOptions reqMsgOpt = new com.ibm.mq.MQPutMessageOptions();
            reqMsgOpt.options = MQConstants.MQPMO_SET_IDENTITY_CONTEXT;

            qRequest.put(reqMsg, reqMsgOpt);
            qRequest.close();
            qmRequest.disconnect();

上面的代码适用于 IBM jdks,但对于 oracle jdk,它总是失败并抛出与 SSL 相关的异常。

【问题讨论】:

  • 例外很重要,请分享。

标签: java ssl ibm-mq mq


【解决方案1】:

你读到了吗:http://www-01.ibm.com/support/docview.wss?uid=swg1IV66840

您是否按照 IBM 支持文档中的说明设置了 JVM 环境变量“-Dcom.ibm.mq.cfg.useIBMCipherMappings=false”?

【讨论】:

  • 是的,我尝试设置这个和 1 种 SSL 工作方式,但为什么相同的代码适用于 mq 6 客户端 jar,这是一种回归吗?
猜你喜欢
  • 1970-01-01
  • 2011-03-04
  • 2011-02-09
  • 1970-01-01
  • 2013-07-22
  • 1970-01-01
  • 2017-04-30
  • 2015-01-09
  • 2016-12-14
相关资源
最近更新 更多