為什麼 SSL 握手會出現「無法產生 DH 金鑰對」異常?
嘗試與特定IRC 伺服器進行SSL 連線時,例如aperture.esper.net:6697,出現異常:「無法產生DH keypair。」
此異常源自伺服器的首選加密方法,該方法使用較大的素數大小進行Diffie-Hellman (DH) 金鑰交換。預設情況下,Java 接受最多 1024 位元的 DH 金鑰大小,但相關伺服器使用較大的質數大小,導致異常。
根本原因:
The該問題的根本原因是 Java SSL 實現的最大可接受 DH 密鑰大小(1024位元)與伺服器首選的較大素數之間不匹配
解決方法:
要解決此問題,您可以使用以下解決方法之一:
注意:如果伺服器的 DH 金鑰大小大於 2048 位,您仍然需要使用 BouncyCastle 解決方法或等待 Java 8 的 JDK-8072452 修復被釋放。
以上是為什麼我的 Java SSL 握手失敗並出現「無法產生 DH 金鑰對」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!