RuoYi框架连接SQL Server时解决“SSL协议不支持”和“加密协议错误”

server/2025/3/24 7:07:10/

RuoYi框架连接SQL Server时解决“SSL协议不支持”和“加密协议错误”

在使用RuoYi框架进行开发时,与SQL Server数据库建立连接可能会遇到SSL协议相关的问题。以下是两个常见的错误信息及其解决方案。

错误信息1

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool; 'encrypt' property is set to 'false' and 'trustServerCertificate' property is set to 'true' but we could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption; Error: No appropriate protocol (protocol is disabled or cipher suites are inappropriate).

错误信息2

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. ClientConnectionId:3dda3a1b-6554-4c49-b660-20ac85a109d3

这两个错误都表明,数据库连接尝试使用SSL加密,但由于协议不支持或密码套件不匹配而失败。以下是解决此问题的步骤。

解决方案

步骤1:定位JDK目录

找到你的JDK安装目录。通常,它位于/Library/Java/JavaVirtualMachines/下。例如,如果你使用的是JDK 1.8.0_291,路径可能是:

cd /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home

步骤2:修改安全配置文件

使用文本编辑器(如vim)打开java.security文件:

vim /jdk1.8.0_291.jdk/Contents/Home/jre/lib/security/java.security

找到以下内容:

jdk.tls.disabledAlgorithms=TLSv1.1, RC4, DES, MD5withRSA, \DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \include jdk.disabled.namedCurves

步骤3:禁用不安全的协议

jdk.tls.disabledAlgorithms中删除SSLv3, TLSv1, TLSv1.1三项协议:

jdk.tls.disabledAlgorithms=RC4, DES, MD5withRSA, \DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \include jdk.disabled.namedCurves

步骤4:重启RuoYi项目

保存文件并退出编辑器。然后,重启你的RuoYi项目,问题应该已经解决。

总结

通过禁用不安全的协议,我们可以确保SQL Server连接使用更安全的协议和密码套件。这种方法简单有效,适用于大多数RuoYi框架下的SQL Server连接问题。希望这篇文章能帮助你快速解决问题,继续你的开发工作。


以上是解决RuoYi框架下连接SQL Server时“SSL协议不支持”和“加密协议错误”问题的具体步骤和方法。如果你有任何疑问或需要进一步的帮助,请随时在评论区留言。


http://www.ppmy.cn/server/177368.html

相关文章

Flink Cdc TiDB详解

1. 什么是 Flink TiDB CDC&#xff1f; 简单说就是用 Flink 实时抓取 TiDB 数据库的数据变化&#xff08;比如新增、修改、删除&#xff09;&#xff0c;并将这些变化数据以流的形式处理&#xff0c;用于实时分析、同步到其他系统等场景。 TiDB 本身是分布式数据库&#xff0c…

Pytest的夹具共享(2)

1、问题&#xff1a;夹具跟用例都是写在一个py文件中&#xff0c;在自动化框架中&#xff0c;测试用例、夹具在不同的文件中&#xff0c;跨文件夹具使用呢&#xff1f; “”" 在XXX测试用例模块中&#xff0c;使用夹具&#xff1f; 如何跨文件调用&#xff1f; -1&#x…

基于AT89C51单片机的自动贩卖机设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/90498300?spm1001.2014.3001.5503 C23 部分参考设计如下&#xff1a; 摘 要 自动售货机作为自动化技术的一个典型应用&#xff0c;已经成为现代生活中不可或缺的…

Web爬虫利器FireCrawl:全方位助力AI训练与高效数据抓取。本地部署方式

开源地址&#xff1a;https://github.com/mendableai/firecrawl 01、FireCrawl 项目简介 Firecrawl 是一款开源、优秀、尖端的 AI 爬虫工具&#xff0c;专门从事 Web 数据提取&#xff0c;并将其转换为 Markdown 格式或者其他结构化数据。 Firecrawl 还特别上线了一个新的功…

Qt搭配CLion:Mac电脑M芯片Qt开发环境

在当今的软件开发领域&#xff0c;跨平台应用的需求日益增长&#xff0c;Qt作为一款流行的C图形用户界面库&#xff0c;因其强大的功能和易用性而备受开发者青睐。与此同时&#xff0c;CLion作为一款专为C/C打造的强大IDE&#xff0c;提供了丰富的特性和高效的编码体验。本文将…

C/S模型-TCP

下图是基于TCP协议的客户端/服务器程序的一般流程&#xff1a; TCP协议通讯流程 服务器调用socket()、bind()、listen()完成初始化后&#xff0c;调用accept()阻塞等待&#xff0c;处于监听端口的状态&#xff0c;客户端调用socket()初始化后&#xff0c;调用connect()发出SY…

神思智飞无人机智能调度系统介绍

神思智飞无人机智能调度系统介绍 神思智飞是神思电子技术股份有限公司自主研发的无人机智能调度系统,定位为无人机的“智慧大脑”,通过AI、大数据与通信技术的融合,实现无人机集群的自主化、智能化调度与协同作业,广泛应用于智慧交通、森林防火、应急救援、城市治理等低空…

Vue学习汇总(JS长期更新版)

文章目录 一、开始  二、基础 目录 一、开始 1、[Vue]VsCode快捷键 二、基础 1、[Vue]模版语法        2、[Vue]属性绑定        3、[Vue]条件渲染        4、[Vue]列表渲染