【问题标题】:JMS connection handshake is failing for SSLCipherSuite SSL_RSA_WITH_3DES_EDE_CBC_SHASSLCipherSuite SSL_RSA_WITH_3DES_EDE_CBC_SHA 的 JMS 连接握手失败
【发布时间】:2017-11-08 09:08:57
【问题描述】:

我使用的是 Spring boot 1.2.2 和 JDK1.8.0.40,我已将 SSL 密码套件指定为 SSL_RSA_WITH_3DES_EDE_CBC_SHA 并将 cer 文件导入密钥库。

当我运行我的项目时,我将 jvm 参数设置如下:

-Djavax.net.debug=all -Djavax.net.ssl.keyStore=/java_home/jre/lib/security/cacerts -Djava.net.keyStorePassword=changeit

但我总是得到

handing 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
[Raw write]: length = 7
0000: 15 03 03 00 02 02 28       ......(
called closeSocket()
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager 'XXXX' with connection mode 'Client' and host name 'xxx.xxx.com(xxxxx)'.

确实我已经做了几个操作来解决这个问题,例如:

  1. 替换 jce jar 以无限加密
  2. 将cer文件导入jks
  3. 在 jvm 参数中指定 jks 路径
  4. 使用匹配的 SSL 密码套件
  5. 使用 SSL 通道

但是现在,我还是握手失败了,错误日志和上面一样。

或者我需要从我的机器生成 cer 并上传到服务器吗?可以给点建议吗?

【问题讨论】:

    标签: ssl jms ibm-mq


    【解决方案1】:

    SSL_RSA_WITH_3DES_EDE_CBC_SHA 是一个 SSL 3 密码套件。 SSL 3 是不安全的,而在 Java 8 中是 disabled by default。您有什么理由将密码套件用于不安全的协议?

    如果您想坚持使用单一密码套件,您可以选择Java 8 supports

    【讨论】:

    • 是的,我评论 jdk.tls.disabledAlgorithms=SSLv3 并获得许多 ssl 日志。我可以在 ServerHelloDone 部分看到“no_certificate”警告。还有一些日志,例如 WRITE: SSLv3 Application Data。阅读:SSLv3 应用程序数据。但是socket很快就关闭了,仍然无法从MQ获取数据。
    【解决方案2】:

    新的 JDK 版本不断更新最低安全级别,这很好。但是,让所有相关组件的这些协议限制保持最新并不总是容易(或可能)。

    最好的方法是选择一个受支持的密码套件。

    但如果您处于开发阶段(并且知道自己在做什么),则可以通过编辑 JDK 的 jre\lib\security\java.security 文件来移除此限制以进行测试。

    搜索 jdk.tls.disabledAlgorithms 并删除或编辑限制

    # previously: 
    # jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768
    jdk.tls.disabledAlgorithms=MD5withRSA, DH keySize < 768
    

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2021-02-02
      • 2018-03-05
      • 2021-11-14
      相关资源
      最近更新 更多