SSL 握手異常:無法產生DH 金鑰對
問:當使用Java 透過SSL 連接到某些IRC 伺服器時,為什麼SSL 不可用?握手過程拋出「無法產生 DH 金鑰對」異常?
A:當伺服器使用 Diffie-Hellman (DH) 金鑰交換,其素數大小超過預設 Java 實現的最大 1024 位元。
診斷:
訊息「素數大小」必須是64 的倍數,範圍只能是512 到1024(含)」 表示伺服器請求素數大小大於1024位元,在Java中觸發此限制。實現作為處理較大素數的解決方法
永久修復:
更新到Java 9 或更高版本,因為該問題已在JDK-7044060 中修復。但請注意,可接受的最大質數大小仍限於2048 位元。 JDK-8072452,此版本計畫用於 Java 9。
以上是為什麼我的 Java SSL 握手失敗並出現「無法產生 DH 金鑰對」異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!