IOException:javax.net.ssl.SSLHandshakeException: No appropriate protocol

在Java8及高版本以上的版本在调用ssl时会出现javax.net.ssl.SSLHandshakeException: No appropriate protocol的异常。

I/O error on GET request for "https://..........":
 No appropriate protocol (protocol is disabled or cipher suites are inappropriate);
 nested exception is javax.net.ssl.SSLHandshakeException:
 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

解决办法如下: jdk安全策略禁止了

修改jre/lib/security/java.security中的disabledAlgorithms,删除SSLv3, TLSv1, TLSv1.1,然后重启应用即可。在vim下,可以使用jdk.tls.disabledAlgorithms快速查找。

# SSLv3, TLSv1, TLSv1.1,
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1,RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

把SSL,TSL那些删掉就可以了

参考:Java调用ssl出现异常:javax.net.ssl.SSLHandshakeException: No appropriate protocol_程序员星空的博客-CSDN博客_javax.net.ssl.sslexception

你可能感兴趣的:(网络,java,ssl,服务器)