
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
·
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
这个问题是在使用jdbc获取数据库连接池时抛出的异常,根据提示给出SSL异常,翻译为:没有合适的协议(协议被禁用或密码套件不合适)。
然后在网上查到问题的解决办法,说是对于高的JDK版本(我用的是JDK11),对于SSL调用权限有限制,需要对JDK中的配置进行修改,可是找了好久,给出的几乎都是jdk1.8的处理,我们用的是jdk11,配置中的路径都不一样,最后通过自己胡乱一通找,终于在jdk11里找到相应的修改配置的地方了。
修改java.security文件,jdk1.8是在jdk1.8.131/jre/lib/security/java.security
路径下,而jdk11没有jre文件夹了已经,文件在jdk-11.0.20/conf/security/java.security
路径下。总而言之,都要先找到security文件夹,才能找到相应文件,找到文件之后去除 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
修改后:
jdk.tls.disabledAlgorithms=RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
更多推荐
所有评论(0)