我的应用程序使用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?
通常TLS_RSA_...
而不是SSL_RSA_...
在最近的Java版本中作为SSLv3不再安全。
根据SSL_RSA_WITH_AES_256_CBC_SHA256
文档,IBM JRE可能支持Configuring your application to use IBM Java or Oracle Java CipherSuite mappings密码套件,但这不是OpenJDK中的有效常量。
TLS_RSA_WITH_AES_256_CBC_SHA256
密码套件是根据Java Cryptography Architecture Oracle Providers Documentation for JDK 8 docs在Java 7中引入的。在OpenJDK中使用此常量。