Java 无法使httpsUrlConnection连接到servlet握手异常

Java 无法使httpsUrlConnection连接到servlet握手异常,java,httpsurlconnection,Java,Httpsurlconnection,我在Tomcat 8.5.8中有一个应用程序。我在Tomcat服务器前面安装了Apache2.4WebServer。我已经使用ssl TLS1.2和密码套件配置了Apache:SSLCipherSuite“HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128” 现在,当我尝试在我的应用程序中对servlet进行httpsURLConnection调用时,它会引发以下异常: javax.net.ssl.SSLHandshakeException:收到致命警报: 握手失败

我在Tomcat 8.5.8中有一个应用程序。我在Tomcat服务器前面安装了Apache2.4WebServer。我已经使用ssl TLS1.2和密码套件配置了Apache:SSLCipherSuite“HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128”

现在,当我尝试在我的应用程序中对servlet进行httpsURLConnection调用时,它会引发以下异常:

javax.net.ssl.SSLHandshakeException:收到致命警报: 握手失败

我认为理想情况下,httpsurlconnection代码不应该特别启用任何密码套件。请告诉我方向


我正在使用JDK1.8。

我替换了上面的Apache配置条目

SSLCipherSuite“HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128”

有以下几点

SSLCipherSuite"研究结果表明,他们的宗教信仰是一个宗教信仰的宗教信仰是一个RSA的一个宗教信仰是一个宗教信仰是一个RSA的宗教信仰是一个宗教信仰是一个宗教信仰是一个宗教信仰是一个宗教信仰是一个宗教信仰是一个宗教信仰是一个宗教信仰是一个RSA是一个RSA的RSA是一个宗教信仰是一个宗教信仰是一个RSA的一个RSA是一个RSA是一个RSA是一个RSA的一个RSA是一个宗教信仰是一个RSA是一个RSA是一个RSA是一个RSA是一个宗教是一个RSA是一个宗教信仰是一个RSA是一个宗教是一个RSA是一个宗教信仰是一个关于一个宗教信仰是一个RSA的。有有一个教教教教教教教教教教教教教教教教教的的是一个教教教的是一个教教教教教教的教教的教的教的教的教教的的的的是一个教的256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECDSA-ECDSA-ECD-ECD-ECDSA-ECD-ECDSA-ECDSA-ECD-ECDSA-ECDSA-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECD-ECDSA-ECDSA-ECD-ECDSA-ECD-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECD-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECDSA-ECES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA:AES256-SHA:AES228-SHA:AES228-SHA:DES-CBC3-SHA:HI:HIGH:!阿努尔:!埃努尔:!出口:!德斯:!MD5:!PSK:!RC4“


它工作得很好。客户端代码绝对没有变化。

可能的重复,特别是请参阅heez和Simon Yu的答案,因为您的Apache配置只允许使用AES-256的密码套件,而Oracle Java默认情况下不支持256位加密(尽管OpenJDK支持,至少在我尝试的构建中是这样)。