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

Oracle JRE 1.8.0_291忽略TLSv1.1偏好无法建立连接如何解决?

解决方案

根本原因

Oracle JRE 8u291 及更高版本默认将 TLSv1、TLSv1.1 纳入全局禁用加密算法列表,该配置优先级高于 Java 控制面板的 TLS 开关设置,因此仅修改控制面板不生效。

操作步骤

  1. 定位 Java 安全配置文件
    macOS 系统下 javaws 调用的 JRE 配置文件默认路径为:
    /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security
    如果系统中安装了独立 JDK 且 javaws 关联 JDK 路径,对应的配置文件路径为:
    /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/jre/lib/security/java.security
  2. 编辑安全配置移除 TLSv1.1 禁用规则
    使用 root 权限打开上述配置文件,找到jdk.tls.disabledAlgorithms配置项,删除列表中的TLSv1、TLSv1.1两个值:

修改前示例:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
修改后示例:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
如果仍提示加密套件不兼容,可同步移除该配置项中的3DES_EDE_CBC等老版本加密套件规则。

  1. (可选)导入服务端自签证书
    如果目标服务端使用自签名 TLS 证书,需将证书导入 JRE 信任库:
sudo keytool -import -alias old_app_server -file 你的服务端证书路径.crt -keystore "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/cacerts"

信任库默认密码为changeit,导入时按提示确认即可。
4. 测试启动命令
修改完成后优先使用原命令测试:
javaws -wait ~/Downloads/test.jnlp
如果仍报错,可添加强制指定 TLS 版本的 JVM 参数启动:
javaws -J-Djdk.tls.client.protocols=TLSv1.1 -J-Dhttps.protocols=TLSv1.1 -wait ~/Downloads/test.jnlp

无全局修改权限的替代方案

如果不希望修改 JRE 全局配置,可自定义安全配置文件单独给 javaws 调用:

  • 复制原java.security文件到任意用户目录,按上述规则修改后保存
  • 启动时指定自定义配置文件路径:
    javaws -J-Djava.security.properties=/Users/你的用户名/custom_java.security -wait ~/Downloads/test.jnlp

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 11:06:05