JAVA 项目连接SQLServer报错 SQLServerJDBC 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

       最近接手了公司的一个项目,架构是SSM,数据库是多数据库,有mysql、sqlserver,项目用的eclipse开发的,所以呢,我也就用eclipse利用svn将项目down下来,现在本地跑一跑熟悉一下。结果呢,跑起来就碰到了一个问题,百度了一个下午没解决。

问题

进行查询操作报错

驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

当时我就人傻了,之前用的都是mySQL,orcale.现在突然用一下sqlserver报这个错。所以赶紧百度一波

JAVA 项目连接SQLServer报错 SQLServerJDBC 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接_第1张图片
然并卵,我的是jdk版本是 jdk1.8.0_211,也试了这种方法,么的一点用。然后我继续各种百度找
JAVA 项目连接SQLServer报错 SQLServerJDBC 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接_第2张图片
反正就是…就这样各种试方法,肝了一个下午,也么搞定。今天一早来到公司,用手机浏览器搜索,看能不能找到解决办法,哎嘿,,还真找到了。
下面我贴一下解决办法,若有小伙伴也碰到类似错误,可以尝试这样解决~

解决

查下jdk的Release Notes,在171的Release Notes里果然找到一条关于ssl的安全性修复:

security-libs/javax.net.ssl

3DES Cipher Suites Disabled 

To improve the strength of SSL/TLS connections, 3DES cipher suites have been disabled in SSL/TLS connections in the JDK via the jdk.tls.disabledAlgorithms Security Property.

再配合-Djavax.net.debug=ssl:handshake:verbose参数输出了ssl的调试信息,看到了sqlserver的ssl连接使用了3DES的算法。

操作
修改jre\lib\security\java.security,删除jdk.tls.disabledAlgorithms中的3DES_EDE_CBC
*
在这里插入图片描述
重启服务,问题解决!

你可能感兴趣的:(java,数据库,java,数据库,sqlserver,jdk)