Maison > Java > javaDidacticiel > Pourquoi est-ce que je reçois une erreur « Impossible de générer la paire de clés DH » lors des négociations SSL ?

Pourquoi est-ce que je reçois une erreur « Impossible de générer la paire de clés DH » lors des négociations SSL ?

Susan Sarandon
Libérer: 2024-12-06 21:07:14
original
725 Les gens l'ont consulté

Why Am I Getting a

Erreur : « Impossible de générer la paire de clés DH » lors de la négociation SSL

Problème :

Lors de l'établissement de connexions SSL avec des serveurs IRC spécifiques, les développeurs rencontrent les problèmes suivants exception :

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)
Copier après la connexion

Réponse :

La cause première de ce problème est la « taille première » utilisée dans l'algorithme d'échange de clés Diffie-Hellman (DH). L'implémentation SSL par défaut de Java limite la taille première à un maximum de 1 024 bits (voir JDK-6521495).

Solution de contournement :

Pour résoudre le problème, les développeurs Java peuvent envisager en utilisant des boîtes à outils alternatives ou en mettant en œuvre des solutions de contournement. Voici les solutions recommandées :

  1. Utilisez une boîte à outils alternative : Utilisez une implémentation SSL différente qui prend en charge les tailles premières supérieures à 1 024 bits, comme l'implémentation JCE de BouncyCastle.
  2. Modifier le code source Java (non recommandé) : Modifier le code source de Java Classe DHKeyPairGenerator (située dans com.sun.crypto.provider) pour augmenter la limite maximale de taille première.

Versions Java ultérieures :

Notez que plus tard Dans les versions Java, la limite maximale de taille principale pour l'échange de clés DH a été augmentée. Voici un résumé :

  • Java 8 (JDK-7044060) : Limite augmentée à 2048 bits.
  • Java 9 (JDK-8072452) : Limite supprimée pour les tailles premières supérieures à 2048 bits.

Si vous utilisez une ancienne version de Java, c'est Il est recommandé de mettre à niveau pour profiter de l'augmentation de la limite de taille principale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal