连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全 ...

打印 上一主题 下一主题

主题 1842|帖子 1842|积分 5526


文章目录







      • 一. 媒介
      • 二. 解决方案


        • 方案1
        • 方案2

      • 三. 总结


一. 媒介

在《数据库原理》这门课的实验上,需要使用SQL Server,然后使用jdbc连接sql server忽然报错为:SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接,整理出来以下两种解决方案。
二. 解决方案

一共两种解决方案,如下所示:
方案1

起首是网上寻找到的第一种办法,就是在自己安装的JDK目录下找到java.security文件,然后打开这个文件。查询jdk.tls.disabledAlgorithms,然后将里面的3DES_EDE_CBC去掉,然后再使用旧的算法。
下面是我的电脑上的例子:

   但是遗憾的是,这个解决办法没有解决我的题目。
  方案2


  • 连接数据库时,如果我们需要对在客户端与服务器之间发送的全部数据使用 TLS 加密,那么就需要设置encrypt=true,同时设置trustServerCertificate=true,Microsoft JDBC Driver for SQL Server 将不验证SQL Server TLS 证书。 此设置常用于允许在测试情况中建立连接,如 SQL Server 实例只有自签名证书的情况。
  • 连接数据库时,如果我们不想对在客户端与服务器之间发送的全部数据使用 TLS 加密,那么就需要设置encrypt=false.
操作方法如下:
  1. String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=false";
  2. OR
  3. String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=true;trustServerCertificate=true";
复制代码
三. 总结


  • 修改java.secrity文件
  • 在url后面加上encrypt=false大概encrypt=true;trustServerCertificate=true(推荐)
如果你在阅读本文中发现描述不够正确或有误的地方,还请给予我肯定的反馈,大家一起学习进步!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表