From 5bbb39c8687d0304299274efa28a7df8195ea029 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 5 Jan 2026 17:17:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B8=85=E9=99=A4=E6=89=80=E6=9C=89TLS?= =?UTF-8?q?=E5=92=8C=E8=AF=81=E4=B9=A6=E7=AE=97=E6=B3=95=E9=99=90=E5=88=B6?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E6=97=A7=E7=89=88SQL=20Server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/designhub/service/ThirdPartyDbService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/ThirdPartyDbService.java b/backend/src/main/java/com/designhub/service/ThirdPartyDbService.java index c5ae834..15ec7b2 100644 --- a/backend/src/main/java/com/designhub/service/ThirdPartyDbService.java +++ b/backend/src/main/java/com/designhub/service/ThirdPartyDbService.java @@ -108,13 +108,15 @@ public class ThirdPartyDbService { switch (config.getDbType().toLowerCase()) { case "sqlserver": driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; - // 使用TLS 1.0协议连接旧版SQL Server - // 需要确保java.security中已移除TLSv1的禁用 + // 使用TLS 1.0协议连接旧版SQL Server - 放宽所有安全限制 url = String.format("jdbc:sqlserver://%s:%d;databaseName=%s;encrypt=true;trustServerCertificate=true;TrustServerCertificate=true;hostNameInCertificate=*", config.getHost(), config.getPort(), config.getDatabase()); - // 在连接前设置系统属性以启用TLS 1.0 + // 在连接前设置系统属性以启用TLS 1.0和旧版证书算法 System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2"); - java.security.Security.setProperty("jdk.tls.disabledAlgorithms", "SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL"); + // 清除TLS禁用算法列表 + java.security.Security.setProperty("jdk.tls.disabledAlgorithms", ""); + // 清除证书路径禁用算法列表 + java.security.Security.setProperty("jdk.certpath.disabledAlgorithms", ""); break; case "mysql": driverClass = "com.mysql.cj.jdbc.Driver";