环境:ubuntu20.04,tomcat,java
通过jdbc:sqlserver连接远程的SQLServer 2008R2数据库,2016版本之前仅支持TLS10,因此在连接时会出现如下错误,
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 [TLS13, TLS12]".
解决办法:
1、查询java.security位置(安装:apt install mlocate)
locate java.security
2、根据自己的使用进入相应的security/目录,编辑java.security(大概在737行)
修改jdk.tls.disabledAlgorithms,将TLSv1,TLSv1.1,3DES_EDE_CBC删除,写到注释里备用
3、重启ubuntu,访问数据库正常
4、采用TLS10已经不够安全,建议升级服务器数据库至2016或更高版本。