spring - MQ SSL 错误,协议(protocol)被禁用或密码套件不合适

标签 spring ssl ibm-mq spring-jms jsse

我有一个 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/

相关文章:

java - Spring Boot没有看到请求参数

apache - 通配符 SSL - HTTPS 重定向 www 证书错误

ssl - GitLab中的OpenSSL,自签名证书如何验证?

java - 从 Channel 事件队列读取 PCF 消息中的参数

jms - IBM WebSphere MQ 请求/回复场景

jms - 查看 JMS 调用中的所有 websphere MQ 消息

java - 为什么我在 Spring 实例化的组件中找到静态字段?

java - Spring Security 6.x 正在保护所有端点,尽管配置告诉它不要这样做

java - 阔叶 AdminAuditableListener 中的 NullPointerException

Laravel Forge SSL 您的连接不是私密的