錯誤:在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中文網其他相關文章!