【发布时间】:2018-11-12 23:28:26
【问题描述】:
在旧的 32 位 linux 系统上将我们的 java 从 1.7 升级到 1.8 后,我们在与 web 服务通信时收到以下错误消息:
原因:java.security.InvalidAlgorithmParameterException:DH 密钥大小必须是 64 的倍数,并且只能从 512 到 2048(含)。不支持特定的密钥大小 4096
linux发行版是:
uname -a
Linux XXX-XXX-S018 2.6.16.21-0.8-default #1 Mon Jul 3 18:25:39 UTC 2006 i686 i686 i386 GNU/Linux
分布:
cat /etc/*release
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32" SUSE Linux Enterprise Server 10 (i586) 版本 = 10
我们使用的 Java 版本(32 位和 64 位相同的版本)
Java 版本:
jdk1.8.0_151
奇怪的是,在降级到 java 1.7 后它可以正常工作。
同样的应用程序在不同的 64 位系统(使用 java 1.8)上运行 - 所以我们假设这可能是操作系统架构(32 位)、操作系统的年龄(在这种情况下是 2006 年)和java.
我们发现了一些关于最大长度为 2048 的开放 JDK 的错误报告 - 但我们目前使用的是来自 oracle 的常规 JDK。
感谢您的帮助,
豪克
【问题讨论】:
-
Java 1.8 的具体版本是什么?
-
我编辑了我的帖子 - jdk1.8.0_151
标签: java linux encryption diffie-hellman