驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”
前提
客户端系统:ubuntu18 项目:springboot 数据库:sqlserver2014.12.00.2269
连接sqlserver遇到的问题
连接中遇到的第一个问题:
报错: 请验证服务器和实例名称,并检查防火墙没有阻止到端口 1434 的 UDP 通信,而且对于 SQL Server 2005 或更高版本,还要验证 SQL Server Browser 服务正在主机上运行
解决:错误提示很明显,数据库所在的机器上SQL Server Browser服务没起,找到这个服务设置 启动类型—>自动,然后右键这个服务把它启动起来就OK了。 如图(这个图找https://blog.csdn.net/xubaifu1997/article/details/51760190 拿得) 第二个问题就是标题的错误了: 错误:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。 ClientConnectionId:0231fcf2-ed9f-4fc1-9fec-6a6d4b88600b
坑:网上的解决方法都是修改jdk安装目录下jre/lib/security/java.security文件,里面的 jdk.tls.legacyAlgorithms的配置里去掉3DES_EDE_CBC, 但是实际删除后无效果
解决:同样修改jre/lib/security/java.security文件,jdk.tls.disabledAlgorithms配置项中去掉3DES_EDE_CBC,TLSv1,TLSv1.1,这三个,然后重启项目就ok了
|