Heim > Java > javaLernprogramm > Warum erhalte ich bei SSL-Handshakes die Fehlermeldung „DH-Schlüsselpaar konnte nicht generiert werden'?

Warum erhalte ich bei SSL-Handshakes die Fehlermeldung „DH-Schlüsselpaar konnte nicht generiert werden'?

Susan Sarandon
Freigeben: 2024-12-06 21:07:14
Original
725 Leute haben es durchsucht

Why Am I Getting a

Fehler: „DH-Schlüsselpaar konnte nicht generiert werden“ während des SSL-Handshakes

Problem:

Beim Aufbau von SSL-Verbindungen mit bestimmten IRC-Servern stoßen Entwickler auf Folgendes Ausnahme:

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)
Nach dem Login kopieren

Antwort:

Die Hauptursache für dieses Problem ist die „Primzahlgröße“, die im Diffie-Hellman (DH)-Schlüsselaustauschalgorithmus verwendet wird. Javas Standard-SSL-Implementierung begrenzt die Prime-Größe auf maximal 1024 Bit (siehe JDK-6521495).

Problemumgehung:

Um das Problem zu lösen, können Java-Entwickler in Betracht ziehen Verwendung alternativer Toolkits oder Implementierung von Workarounds. Hier sind die empfohlenen Lösungen:

  1. Verwenden Sie ein alternatives Toolkit:Verwenden Sie eine andere SSL-Implementierung, die Primgrößen größer als 1024 Bit unterstützt, wie z. B. die JCE-Implementierung von BouncyCastle.
  2. Java-Quellcode bearbeiten (nicht empfohlen):Ändern Sie den Quellcode von Java DHKeyPairGenerator-Klasse (in com.sun.crypto.provider) zur Erhöhung der maximalen Primgrößenbeschränkung.

Spätere Java-Versionen:

Beachten Sie dies später In Java-Versionen wurde die maximale Primgrößenbeschränkung für den DH-Schlüsselaustausch angehoben. Hier ist eine Zusammenfassung:

  • Java 8 (JDK-7044060): Grenzwert auf 2048 Bit erhöht.
  • Java 9 (JDK-8072452): Grenzwert für Primgrößen größer als 2048 entfernt Bits.

Wenn Sie eine ältere Java-Version verwenden, Es wird empfohlen, ein Upgrade durchzuführen, um von der erhöhten Prime-Größenbeschränkung zu profitieren.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei SSL-Handshakes die Fehlermeldung „DH-Schlüsselpaar konnte nicht generiert werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage