发生背景:
运行博客端,启动成功后,在登录获取登录信息时报错
异常堆栈:
异常原因:
网络通信,发送请求时,SSL(Secure Sockets Layer 安全套接字协议)被禁止导致的异常。
SSLv3,该协议是在 Java 安装目录下 jre/lib/security/java.security 文件中被禁用的:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL,
include jdk.disabled.namedCurves
为何被禁用,Oracle 官网可以查询到对于这一修改的说明:
Java 用户如何确认不会受到 SSL V3.0 POODLE 漏洞的影响
从 2015 年 1 月 20 日开始,关键补丁程序更新发行版(JDK 8u31、JDK 7u75、JDK 6u91 和更高版本)的 Java 运行时环境在默认情况下禁用 SSLv3。
POODLE 漏洞 (CVE-2014-3566) 暴露出了安全套接字层 (SSL) v3 协议中的严重缺陷。如前所述,不再推荐使用 SSLv3 协议,并且已在 Java 运行时环境中禁用它。用户如果认为有必要重新启用 SSLv3,请参阅相应的发行说明。
解决方式:
1.将 Java 安装目录/jre/lib/security/java.security 文件中的 SSLv3 删除
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL,
include jdk.disabled.namedCurves
改为:
jdk.tls.disabledAlgorithms=TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL,
include jdk.disabled.namedCurves
2.配置自己另外的 security 文件,启动时加载自己的(查询到的另一种解决方式,可以尝试)
步骤大致是:
- 新建一份自己的 xxxjava.security 文件
- 原 java.security 文件中配置成允许覆盖
- 启动加载
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于