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";