Impossible de trouver le chemin de certification valide vers la cible demandée
Lors du téléchargement d'un fichier à partir d'un serveur HTTPS via Java, vous pouvez rencontrer l'erreur suivante :
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Comprendre l'erreur
Cette erreur indique un problème avec l'authentification client-serveur. Les serveurs HTTPS utilisent des certificats pour établir une connexion sécurisée. Le client (programme Java) doit faire confiance au certificat du serveur pour procéder au téléchargement.
Cause possible : le serveur dispose d'un certificat auto-signé
Les certificats auto-signés sont non délivré par une autorité de confiance. Le magasin de confiance par défaut de Java ne contient pas ces certificats, ce qui entraîne l'échec de l'authentification.
Solution
Pour ignorer l'authentification client-serveur, vous pouvez ajouter le certificat du serveur au fichier Java magasin de confiance. Voici comment procéder :
1. Obtenez le certificat :
2. Ajoutez le certificat au Trust Store :
Il existe deux façons de procéder :
a. À l'aide de keytool :
keytool -import -trustcacerts -alias myalias -file certificate.cer
b. Utilisation du paramètre -D :
-Djavax.net.ssl.trustStore=mytruststore.jks
3. Remplacez certificate.cer et mytruststore.jks par les noms de fichiers réels.
Après avoir ajouté le certificat au magasin de confiance, votre programme Java devrait pouvoir télécharger le fichier depuis le serveur HTTPS sans l'erreur d'authentification. .
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!