在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
|