fix: 清除所有TLS和证书算法限制以支持旧版SQL Server
This commit is contained in:
parent
adecc00dff
commit
5bbb39c868
@ -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";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user