网站首页 > 编程文章 正文
由于工作需要使用SpringBoot项目连接SQL Server作数据查询,在使用sqljdbc4-4.0.jar驱动包对数据库进行访问时出现了“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接”异常,最终通过修改java.security文件解决的。
由于不同版本的JDK对于本问题的结局办法不一样,我这边用到的JDK版本为JDK8,而此解决办法也是针对JDK8实现的。
从上网搜查到的资料得知JDK8及更早版本中,通过编辑/lib/security/java.security 文件并将 3DES_EDE_CBC 从 jdk.tls.legacyAlgorithms安全属性中删除即可解决该问题…但事实上除了要修改 legacyAlgorithms外 disabledAlgorithms属性也是需要修改的。
jdk.tls.disabledAlgorithms
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
# 这个是原有的配置(已封存)
#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
# DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
# include jdk.disabled.namedCurves
# 这个是修改后的配置,需要注意的是TLSv1, TLSv1.1在这里被排除掉
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, DES40_CBC, RC4_40, \
include jdk.disabled.namedCurves
而在 Java 8 默认是禁用SSL_RSA_WITH_3DES_EDE_CBC_SHA的,若要连接成功的话,要将其开启,需要将jdk.tls.legacyAlgorithms中的3DES_EDE_CBC删除。
jdk.tls.legacyAlgorithms
# 这个是原有配置(已封存)
#jdk.tls.legacyAlgorithms= \
# K_NULL, C_NULL, M_NULL, \
# DH_anon, ECDH_anon, \
# RC4_128, RC4_40, DES_CBC, DES40_CBC, \
# 3DES_EDE_CBC
# 这个是修改后的配置,这里将“3DES_EDE_CBC”删除了
jdk.tls.legacyAlgorithms= \
K_NULL, C_NULL, M_NULL, \
DH_anon, ECDH_anon, \
RC4_128, RC4_40, DES_CBC, DES40_CBC
配置好了之后就可以正常使用SQL Server驱动了。
猜你喜欢
- 2024-09-08 JDBC数据库连接怎么操作?(jdbc连接数据库实例)
- 2024-09-08 mysql 5 & 8 JDBC的差别(mysql和jdbc的关系)
- 2024-09-08 肝!Spring JDBC持久化层框架“全家桶”教程
- 2024-09-08 0467-Hadoop SQL客户端工具之Dbeaver安装及使用
- 2024-09-08 离线端Pycharm中Database工具数据库驱动程序的安装
- 2024-09-08 JDBC数据库开发(一)(jdbc如何实现数据库访问)
- 2024-09-08 0312-如何在Kerberos环境下使用Spark2通过JDBC访问Impala
- 2024-09-08 Kafka连接器深度解读之JDBC源连接器
- 2024-09-08 JDBC、SQL注入攻击原理以及解决方案
- 2024-09-08 大数据开发基础之JAVA基础-JDBC基础知识
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)