JDBC连接SQLServer2012报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

目录

一、场景描述:

二、解决方法(实测通过)

三、注意事项

四、测试运行效果


错误信息:The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

一、场景描述:

Eclipse4.7 java EE版;

SQL Server 2012;

JDK 1.8;

JDBC 驱动版本mssql-jdbc-6.4.0.jre8.jar

在Eclipse下使用JDBC驱动程序连接SQL Server 2012数据库,报错信息如下:

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

错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:12d300ee-beb1-4677-80da-8936f5f80aac

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 
ClientConnectionId:12d300ee-beb1-4677-80da-8936f5f80aac
	

网上的解决方法,铺天盖地都是JDK版本问题,但是似乎都解决不了主要问题。

二、解决方法(实测通过)

再次关注一下错误信息

The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

错误信息其实已经很明显,客户端client引用的协议版本是TLS12即TSL1.2的版本

而服务端The server selected选择的协议版本还是TSL10即TSL1.0,故报错!

JDK1.8的安全策略里面,把低版本TSL1.0的安全算法禁用了,我们把它取消禁用就可以了。

具体操作步骤如下:

1.首先找到JDK的安装路径,本机默认安装在C盘,路径为C:\Program Files\Java\jdk1.8.0_291,找到C:\Program Files\Java\jdk1.8.0_291\jre\lib\security路径下的java.security文件,没看错,文件的后缀是.security

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

2.修改里面的jdk.tls.disabledAlgorithms配置信息,禁用的算法目前有
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \

将其中的TLSv1删除掉或者注释掉即可!

查找一下,务必不要改错地方!

三、注意事项

在后续验证过程中发现经过上述操作,似乎错误还在!

那么请注意确认JAVA的安装路径下是否有JDK和JRE,若有,都要改过来才可以!!!

测试机器的JAVA8安装路径如下:C:\Program Files\Java

 要保证JDK下面的C:\Program Files\Java\jdk1.8.0_291\jre\lib\security\java.security和JRE下面的 C:\Program Files\Java\jre1.8.0_291\lib\security\java.security都要改掉才可以!

1.JDK下面的C:\Program Files\Java\jdk1.8.0_291\jre\lib\security\java.security

2.JRE下面的 C:\Program Files\Java\jre1.8.0_291\lib\security\java.security

四、测试运行效果

测试成功之后的运行效果截图:

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值