Bootstrap

[08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is

项目场景

Idea使用DateSource插件连接SqlServer数据库报错


问题描述

[08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:da918ed5-2615-4bbb-a54b-c184ada18897
The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12].

请添加图片描述


解决方案

方案一:修改jdk(推荐)

编辑java.security文件。找到自己本地jdk安装目录:..\jre1.8.0_301\lib\security\java.security
在这里插入图片描述
文件内搜索:jdk.tls.disabledAlgorithms=
在这里插入图片描述
将其中的TLSv1, TLSv1.1配置删除掉即可,这2个配置是Java高版本中增加的,低版本不存在这2个配置。
在这里插入图片描述
保存后重新测试,发现已经成功解决!

方案二:修改idea

1.修改idea根目录java.security文件

xxx\ideaIU-2021.3.win\jbr\conf\security

在这里插入图片描述
2.修改配置参数
打开文本搜索“jdk.tls.disabledAlgorithms=”,大概在731行位置
在这里插入图片描述
删除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=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
	DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

在这里插入图片描述
保存后配置DateSource连接
URL配置:

jdbc:sqlserver://ip:1433;database=数据库名称?autoReconnectForPools;encrypt=true;trustServerCertificate=true;database=数据库名称

测试连接

在这里插入图片描述

;