Maison > Java > javaDidacticiel > Pourquoi est-ce que je reçois une « SSLHandshakeException : aucune suite de chiffrement en commun » lorsque j'utilise un SSLServerSocket ?

Pourquoi est-ce que je reçois une « SSLHandshakeException : aucune suite de chiffrement en commun » lorsque j'utilise un SSLServerSocket ?

DDD
Libérer: 2024-11-03 17:14:30
original
338 Les gens l'ont consulté

Why am I receiving an

Java SSLHandshakeException "aucune suite de chiffrement en commun"

Question :

Je ne parviens pas à établir des connexions SSL à l'aide d'un SSLServerSocket. Bien que toutes les suites de chiffrement et protocoles possibles soient activés, je reçois une exception SSLHandshakeException indiquant "aucune suite de chiffrement en commun".

Réponse :

Le problème réside dans l'initialisation du Contexte SSL. La fourniture d’un tableau KeyManager nul entraîne un KeyManager vide dépourvu de certificats RSA ou DSA. Cela interdit l'utilisation de suites de chiffrement par défaut qui s'appuient sur ces certificats et conduit finalement à l'erreur. Pour résoudre ce problème :

  1. Chargez le keystore contenant vos certificats :
KeyStore ks = KeyStore.getInstance("JKS");
InputStream ksIs = new FileInputStream("...");
ks.load(ksIs, "password".toCharArray());
Copier après la connexion
  1. Initialisez une KeyManagerFactory avec le keystore :
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, "keypassword".toCharArray());
Copier après la connexion
  1. Mettre à jour l'initialisation SSLContext pour utiliser les KeyManagers :
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(kmf.getKeyManagers(), null, new SecureRandom());
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal