Maison > Java > javaDidacticiel > Comment résoudre « sun.security.provider.certpath.SunCertPathBuilderException : impossible de trouver un chemin de certification valide vers la cible demandée » ?

Comment résoudre « sun.security.provider.certpath.SunCertPathBuilderException : impossible de trouver un chemin de certification valide vers la cible demandée » ?

Patricia Arquette
Libérer: 2024-12-21 19:18:12
original
408 Les gens l'ont consulté

How to Resolve

Résolution de l'exception « sun.security.provider.certpath.SunCertPathBuilderException : impossible de trouver un chemin de certification valide vers la cible demandée »

Le code fourni tente de télécharger un fichier à partir d'un serveur HTTPS mais rencontre une erreur liée au certificat. Cette erreur se produit souvent lorsque le serveur présente un certificat auto-signé qui n'est pas approuvé par la JVM du client.

Pour résoudre ce problème, vous pouvez demander au client de faire confiance au certificat du serveur. Voici comment :

Récupérer le certificat du serveur à l'aide d'un navigateur

  1. Visitez le serveur HTTPS dans votre navigateur.
  2. Cliquez sur l'icône de verrouillage dans la barre d'adresse et affichez les détails du certificat.
  3. Exportez le certificat sous forme de fichier, généralement avec un .cer ou Extension .crt.

Ajouter le certificat au Truststore de la JVM

Il existe deux façons de procéder :

  • Modifier JAVA_HOME/jre/lib/security/cacerts :

    1. Ouvrez le fichier cacerts situé dans /JAVA_HOME/jre/lib/security/ avec un utilitaire Java keytool.
    2. Importez le certificat exporté à l'aide de la commande -importcert. Par exemple :

      keytool -keystore cacerts -importcert -file my_server_cert.cer
      Copier après la connexion
  • Utilisez le paramètre -Djavax.net.ssl.trustStore :

    Vous pouvez spécifier un emplacement de truststore différent en définissant le système Java property :

    java -Djavax.net.ssl.trustStore=/path/to/my_truststore
    Copier après la connexion

Remarque : Assurez-vous d'utiliser la bonne version JDK/JRE, car elle influence l'emplacement du fichier cacerts.

En faisant confiance au certificat, vous autorisez le client à communiquer avec le serveur malgré l'absence d'autorité de certification de confiance. Cependant, il est important de noter que cela peut introduire des risques de sécurité si le certificat du serveur n'est pas fiable.

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