我的应用正在使用 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?
最佳答案
在最近的 Java 版本中,通常 TLS_RSA_...
不是 SSL_RSA_...
,因为 SSLv3 不再安全。
根据 Configuring your application to use IBM Java or Oracle Java CipherSuite mappings,IBM JRE 可能支持 SSL_RSA_WITH_AES_256_CBC_SHA256
密码套件文档,但这在 OpenJDK 中不是有效常量。
根据 Java Cryptography Architecture Oracle Providers Documentation for JDK 8 在 Java 7 中引入了 TLS_RSA_WITH_AES_256_CBC_SHA256
密码套件文档。在 OpenJDK 中使用此常量。
关于java - openjdk11 : Unsupported CipherSuite Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634819/