zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java调用ssl异常,javax.net.ssl.SSLHandshakeException: No appropriate protocol

JAVANetSSL异常 调用 No protocol javax
2023-09-11 14:17:06 时间
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.Handshaker.activate(Handshaker.java:529)
	at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1492)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1361)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)

报错原因:jdk1.8中某些版本导致SSL调用权限出现异常,对应版本的加密套件"SSLv3,TLSv1,TLSv1.1"不再认为是安全的

解决:1.最简单方法:在db.properties文件中的url后加上&useSSL = false

例如:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/shop?useSSL=false&characterEncoding=utf-8&serverTimezone=UTC
jdbc.username=root
jdbc.password=root

2.修改java.security文件(不建议使用)

Linux(服务器上):

(1).找到java.security文件位置

find -name java.security

 注:进行修改,使用Xftp比较方便

(2).Windows:找到jdk 1.8安装目录,找到C:\Program Files\Java\jre里面的lib\security 下面有个java.security。找到对应的SSLv3,删除掉,重启项目就好了。(删掉SSLv3就是允许SSL调用)