环境:JDK8+IDEA+SqlServer2012
问题:连接报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
查询了网上资料,最后通过以下两种方案可解决
1、修改JDK安装目录下的java.security文件
将
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
修改为
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, anon, NULL
删除了TLSv1, TLSv1.1、3DES_EDE_CBC;
注意:开始一直不成功,原来是改错位置了 应该修改的文件是D:\Java\jdk-1.8\jre\lib\security。
最开始一直改的是D:\Java\jre-1.8\lib\security。希望大家跟我一样好好看看修改的文件是不是该路径下的,我是因为这个耽误了多半天。
2、连接增加 ;trustServerCertificate=true
spring:
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:sqlserver://localhost:1433;databaseName=test;trustServerCertificate=true
username: sa
password: *********