You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Java客户端允许TLS10协议连接旧版MSSQL数据库

Java 16开启TLS1.0支持连接旧版MSSQL解决方案

报错说明

你遇到的报错内容为:

"...server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]..."

该报错是因为Java 16默认将TLS1.0、TLS1.1加入了安全禁用列表,仅允许TLS1.2、TLS1.3协议通讯,无法兼容仅支持TLS1.0的旧版未维护MSSQL实例。

方案1:Eclipse项目临时配置(仅对当前项目生效,推荐)

  • 打开Eclipse顶部菜单栏 Run -> Run Configurations
  • 找到当前测试连接对应的Java应用运行配置
  • 切换到 Arguments 标签页,在 VM arguments 输入框中添加以下参数:
-Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"
  • 保存配置后重新运行项目即可生效

方案2:修改JDBC连接参数(仅对当前数据库连接生效)

在原有的MSSQL JDBC连接URL中新增enabledTlsProtocols参数,指定允许的TLS协议版本,示例如下:

jdbc:sqlserver://<数据库IP>:<端口>;databaseName=<数据库名>;enabledTlsProtocols=TLSv1,TLSv1.1,TLSv1.2;encrypt=true;trustServerCertificate=true;

方案3:修改JDK全局安全配置(对所有使用该JDK的项目生效)

  • 找到Java 16安装目录下的配置文件:conf/security/java.security,修改前建议备份原文件
  • 搜索找到jdk.tls.disabledAlgorithms配置项,删除配置值中的TLSv1, TLSv1.1条目,保存修改
  • 重启Eclipse和项目后即可生效

注意事项

TLS1.0属于已被废弃的不安全协议,存在严重的安全漏洞风险,以上方案仅为临时适配旧版未维护的MSSQL实例使用,长期来看建议优先升级MSSQL实例,开启高版本TLS协议支持。

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:06:01