我有一个 MQ spring jms 应用程序,它使用 SSL channel 一直运行良好。但是,在应用了最近的 Java 安全补丁后,应用程序停止工作并出现以下错误。
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2397' ('MQRC_JSSE_ERROR').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209) ~[com.ibm.mqjms-7.5.0.0.jar:7.5.0.0 - p000-L120604]
... 45 common frames omitted
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.Handshaker.activate(Handshaker.java:438) ~[na:1.6.0_34]
at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1414) ~[na:1.6.0_34]
我注意到新的 Java 安全文件添加了这一行,这导致了与 MQ 的 SSL 连接失败。
jdk.tls.disabledAlgorithms=SSLv3
我无法删除此行,因为这是共享环境,我有哪些选择可以使其正常工作。我正在使用 MQQueueConnectionFactory 配置并注入(inject)到我的 spring JMS 组件中。
谢谢
最佳答案
你能不能用这个 -
java.security.Security.setProperty("jdk.tls.disabledAlgorithms","")
此更改是在 JDK8 中引入的。
关于spring - MQ SSL 错误,协议(protocol)被禁用或密码套件不合适,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259255/