Waq*_*med 4 ssl weblogic jms ibm-mq
尝试从本地计算机上的Java客户端与远程MQ建立连接时,出现以下异常:
com.ibm.mq.MQException:JMSCMQ0001:IBM MQ调用失败,compcode为'2'('MQCC_FAILED')原因为'2400'('MQRC_UNSUPPORTED_CIPHER_SUITE')
这是Java版本1.7,Oralce JRE,密码套件“ TLS_RSA_WITH_AES_256_CBC_SHA256”和以下Maven依赖项的版本:
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>allclient</artifactId>
<version>9.0.0</version>
</dependency>
<dependency>
<groupId>com.sun.messaging.mq</groupId>
<artifactId>fscontext</artifactId>
<version>4.4.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
影响此的三件事:
如果要使用Oracle JRE,则需要进行设置-Dcom.ibm.mq.cfg.useIBMCipherMappings=false,这将允许IBM MQ使用Oracle Cipher Suite名称,例如TLS_RSA_WITH_AES_256_CBC_SHA256
Oracle JRE 1.7不支持签名算法SHA224withRSA,而使用Oracle Cipher Suite则需要使用签名算法SHA224withRSA TLS_RSA_WITH_AES_256_CBC_SHA256。基于此,您将需要使用Oracle JRE 1.8。
您将需要获取并安装JCE无限强度管辖权策略文件才能使用SHA256密码套件。
我对另一篇文章“ 启用SSL的MQ错误 ”的回答中更详细地介绍了上述信息。