错误:在 SSL 握手期间“无法生成 DH 密钥对”
问题:
与特定 IRC 服务器建立 SSL 连接时,开发人员会遇到以下情况异常:
java.lang.RuntimeException: Could not generate DH keypair ... java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive)
答案:
此问题的根本原因是 Diffie-Hellman (DH) 密钥交换算法中使用的“素数大小”。 Java 的默认 SSL 实现将素数大小限制为最大 1024 位(请参阅 JDK-6521495)。
解决方法:
要解决该问题,Java 开发人员可以考虑使用替代工具包或实施解决方法。以下是推荐的解决方案:
更高版本的 Java 版本:
请注意,稍后Java 版本中,提高了 DH 密钥交换的最大素数大小限制。以下是摘要:
如果您使用的是较旧的 Java 版本,则建议升级以利用增加的主要大小限制。
以上是为什么我在 SSL 握手期间收到'无法生成 DH 密钥对”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!