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

在将本地项目部署到服务器时,遇到由于Java版本和SQLServer支持的TLS版本不一致导致的连接异常。尝试修改java.security文件中tls配置未果,最终通过替换服务器的java.security文件解决了问题。
摘要由CSDN通过智能技术生成

背景:

  项目在本地开发环境运行正常,发布到服务器抛出异常。

  数据库:Microsoft SQL Server 2014 - 12.0.2000.8 (X64) 

  本地jdk版本:1.8.0_121

  服务器jdk版本 :openjdk version "1.8.0_302"

  异常信息:


com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]". 


解决方案:

1、参考stackoverflow:

  Go to folder C:\Program Files (x86)\Java\jre1.8.0_291\lib\security In file java.security find option jdk.tls.disabledAlgorithms and delete TLSv1

 找到Java\jre\lib\security目录中的java.security文件,删掉jdk.tls.disabledAlgorithms里面的   TLSv1。我试过后没什么用。

2、java.security中的jdk.tls.legacyAlgorithms修改为:

jdk.tls.legacyAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, anon, NULL, \
include jdk.disabled.nameCurves

  对我没用。

3、最后的解决办法是使用开发环境的java.security文件替换线上的java.security文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值