我正在尝试将现有的Java应用程序连接到WebSphere MQ 8.这在过去与其他版本的Java和WMQ一起工作,但是对于Java 8和WMQ8,这并不想工作。 我得到了:
handling exception: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
SEND TLSv1.2 ALERT: fatal, description = handshake_failure
WRITE: TLSv1.2 Alert, length = 2
called closeSocket()
Exception in thread "main" com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2397'.
我无法理解为什么会这样。我已经设置了各种javax.net.ssl参数。我使用适当的SSL_TRUSTSTORE&我创建的KEYSTORE。有一个SSL_CIPHERSUITE。
我已经尝试过(差不多)所有WMQ支持的CipherSuite;我正在整个列表中工作,设置和环境如下:
其他信息:
答案 0 :(得分:2)
MQ v7.0于2008年6月27日发布(Fix Pack 7.0.0.1与2009年1月20日相关),自2015年9月30日(超过1。5年)以来一直缺乏支持。根据我的回答,此版本的MQ不支持Oracle JRE上的TLS CipherSuite,而您可以更新到以后的Fix Pack,我强烈建议您转移到支持的MQ客户端版本。较新的MQ客户端版本可以连接到较旧的MQ队列管理器。您可以在以下链接下载仅Java安装的MQ 8.0或MQ 9.0 jar文件:
APAR IV66840添加了新功能,允许非IBM Java运行时环境的用户使用TLS CipherSuite。
对于v7.0,这包含在Fix Pack 7.0.1.13中(请注意,Fix Pack 7.0.1.14是此版本的最终版本)。
对于8.0,它包含在Fix Pack 8.0.0.2中。
注意:此APAR是客户端修复程序。
要启用此选项,您需要执行以下操作:
为非IBM运行时启用这些非默认映射 环境,以下Java系统属性:
必须将
com.ibm.mq.cfg.useIBMCipherMappings
设置为值:
false
例如,可以使用JVM参数配置它:
-Dcom.ibm.mq.cfg.useIBMCipherMappings=false
然后,您需要为Oracle JRE指定CipherSuite为TLS_RSA_WITH_AES_256_CBC_SHA
,请注意SSL_RSA_WITH_AES_256_CBC_SHA
是IBM JRE CipherSuite名称。
完成上述操作后,您可能会遇到AMQ9771,2393 SSL初始化错误。
dW回答帖子“Why do I get AMQ9771, 2393 SSL Initialization error from a MQ Java/JMS application when trying to use an TLS AES 256 cipher?”。它声明如下:
在这种情况下,问题是由尝试使用AES 256强引起的 密码算法。
大多数Java JRE,包括Oracle / Sun和IBM都有进口限制 启用加密算法。这限制了最大密钥大小 还有一些算法。
尝试使用AES 256密码时,例如 ECDHE_RSA_AES_256_CBC_SHA384或TLS_RSA_WITH_AES_256_CBC_SHA256 MQ Java / JMS应用程序,您需要确保您的JRE支持此功能 密码。在大多数情况下,当需要更强的密码算法时, 例如AES 256密码,JCE Unlimited Strength Jurisdiction 必须获取策略文件并将其安装在JDK / JRE中。
这在JDK / JRE文档中有说明:对于Oracle 1.7:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
oracle网站上面的链接指出:
如果需要更强的算法(例如,具有256位的AES) 密钥),JCE Unlimited Strength Jurisdiction Policy Files必须是 获得并安装在JDK / JRE中。
用户有责任验证此操作是否正确 根据当地法规允许。
如果你确实得到了2393,请按照上面的建议获取并安装 JCE Unlimited Strength Jurisdiction Policy Files 。
答案 1 :(得分:0)
您是否阅读过本页: https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q113220_.htm
您使用的是弃用的CipherSuite吗?