首页 > 解决方案 > openjdk11:不支持的 CipherSuite 异常

问题描述

我的应用程序正在使用OpenJDK 11,但失败并出现以下异常:

Caused by: java.lang.IllegalArgumentException: Unsupported CipherSuite: SSL_RSA_WITH_AES_256_CBC_SHA256
        at java.base/sun.security.ssl.CipherSuite.validValuesOf(CipherSuite.java:916)
        at java.base/sun.security.ssl.SSLSocketImpl.setEnabledCipherSuites(SSLSocketImpl.java:302)
        at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.makeSocketSecure(RemoteTCPConnection.java:2084)

我没有共享任何代码,因为我认为问题不存在。我需要以某种方式修复此异常。

是否可以配置 JRE 来支持这个特定的 CipherSuite?

标签: javajava-11openjdk-11

解决方案


通常TLS_RSA_...不会SSL_RSA_...在最近的 Java 版本中,因为 SSLv3 不再安全。

IBM JRE 可能SSL_RSA_WITH_AES_256_CBC_SHA256根据配置应用程序以使用 IBM Java 或 Oracle Java CipherSuite 映射文档支持密码套件,但这不是 OpenJDK 中的有效常量。

TLS_RSA_WITH_AES_256_CBC_SHA256密码套件是根据Java Cryptography Architecture Oracle Providers Documentation for JDK 8文档在 Java 7 中引入的。在 OpenJDK 中使用此常量。


推荐阅读