@TOcom.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。C
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。错误:The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
最近在项目中使用了SqlServer数据库,但是在实际操作中遇到了上述的问题。
1.问题描述:
在搭建完项目之后,然后使用vpn能连接上目标数据库,并没有发生错误。但是当将服务部署到服务器上之后就发生了如上的错误。
2.问题分析
1.首先看问题描述,发现是驱动加密与SqlServer出现了问题。说明可能是SqlServer数据库驱动与对方的数据库版本不一致导致的。但是根据我实际操作在我本地使用该驱动并没有出现报错,部署到服务器上才出现报错,这说明并不是数据库驱动和数据库版本不一致导致的。
2.后面去百度发现SqlServer数据库驱动必须和jdk的版本对应上,然后我在本地的jdk和服务器上的jdk都是同样的1.8版本,但是具体的小版本不一样。这个问题排除。
3. 在分析这个报错,发现是TLS10这个协议无法向上兼容TLS12这个协议的问题。
3.问题确定
TLS10这个协议无法向上兼容TLS12这个协议。
4.问题解决方案
注意这里是linux下的解决具体方案,在window下自己去找jdk\jre\lib\security这个目录。
4.1.找到自己的jdk安装目录命令。
echo $JAVA_HOME
4.1.找到自己的jre\lib\security安装目录下的java.security。
4.2、在java.security文档中搜索jdk.tls.disabledAlgorithms
4.3 删除标红的内容(TLSv1、TLSv1.1、3DES_EDE_CBC)
4.5重启服务
重启服务就解决报错了。文章来源:https://www.toymoban.com/news/detail-790555.html
参考博客:参考博客
参考网站:参考网站文章来源地址https://www.toymoban.com/news/detail-790555.html
到了这里,关于com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!