当我通过 -Djavax.net.debug = ssl 启用SSL调试时,我收到以下异常:
java.security.NoSuchAlgorithmException: EC AlgorithmParameters not available
我正在运行Centos 6.7,打开JDK 1.8.0_91& Tomcat 7.0.63
我的研究表明这是一个已知的错误:https://bugs.centos.org/view.php?id=9482
我发现了许多来源,表明解决方法是通过在 jre / lib / security / java.security 文件中设置以下属性来禁用Elliptic Curve密码算法:
jdk.tls.disabledAlgorithms=EC,ECDHE,ECDH
我查看了我的 java.security 文件,发现这些算法已被禁用:
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keysize < 768, EC, ECDHE, ECDH
我尝试将此属性更改为完全如我找到的示例中所示,但也无效。我也尝试删除 jre / lib / ext / sunec.jar 文件,该文件再次没有效果。
我仔细跟踪了我的Tomcat安装,以确保我正在修改的 jre / lib / security / java.security 文件是运行Tomcat的文件。
如果有人对此处发生的事情或我如何解决这个问题有任何想法,我将非常感谢您的意见。
这个问题与OpenJDK on OpenShift: "NoSuchAlgorithmException: EC AlgorithmParameters not available"有关,除了我没有使用OpenShift,我能够编辑我的 java.security 文件来尝试众所周知的解决方法。我的问题是,解决方法对我不起作用。