SSL ハンドシェイク例外: DH キーペアを生成できませんでした
Q: Java で SSL 経由で特定の IRC サーバーに接続するときに、SSL が失敗するのはなぜですか?ハンドシェイク プロセスで「DH キーペアを生成できませんでした」というメッセージが表示される例外?
A: この例外は、サーバーがデフォルトの Java 実装の最大値である 1024 ビットを超えるプライム サイズの Diffie-Hellman (DH) キー交換を使用する場合に発生します。
診断:
メッセージ「素数サイズは 64 の倍数でなければなりません。 range from 512 to 1024 (inclusive)」は、サーバーが 1024 ビットを超える素数サイズを要求し、Java でこの制限が引き起こされることを示します。
解決策:
回避策:
BouncyCastle を使用する大きな素数サイズを処理するための回避策としての JCE 実装。
永続修正:
問題は JDK-7044060 で修正されたため、Java 9 以降に更新します。ただし、最大許容素数サイズは依然として 2048 ビットに制限されていることに注意してください。 2048 ビットを超える素数サイズについては、Java 9 で予定されている JDK-8072452 を参照してください。
以上がJava SSL ハンドシェイクが「DH キーペアを生成できませんでした」という例外で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。