Échec de la création du chemin PKIX SSLHandshakeException dans Adobe Experience Manager as a Cloud Service
Dans Adobe Experience Manager as a Cloud Service, un serveur d’applications Java ne parvient pas à se connecter à un point d’entrée AEMaaCS et affiche une erreur de négociation SSL avec un message d’échec de création du chemin PKIX. Cela se produit lorsque Java ne peut pas établir de chaîne de certificats de confiance pour le point d’entrée. Pour résoudre ce problème, vérifiez la configuration du TrustStore Java et confirmez que les certificats DigiCert requis sont présents et approuvés.
Description description
Environnement
- Adobe Experience Manager as a Cloud Service (toutes versions)
- Serveur d’applications interne Java
Problème/Symptômes
- L’application Java ne parvient pas à se connecter à un point d’entrée AEMaaCS avec un échec de création de chemin PKIX / erreur SSLHandshakeException .
- La validation OpenSSL à partir du même serveur réussit.
Cause
L’exécution Java utilisée par l’application n’approuve pas les certificats racine DigiCert ou les certificats intermédiaires requis pour le point d’entrée AEMaaCS, ce qui entraîne l’échec de la validation de la chaîne de certificats.
Résolution resolution
Suivez les étapes ci-dessous pour résoudre le problème.
-
Identifiez le TrustStore Java utilisé par votre application.Par défaut, il s’agit généralement du fichier
cacertsdans le répertoire de sécurité de votre installation Java. -
Répertoriez les certificats DigiCert dans votre TrustStore à l’aide de la commande suivante.
- Remplacez
<path-to-truststore>par le chemin d’accès du TrustStore. - Exécuter :
keytool -list -keystore <path-to-truststore> | grep -i "DigiCert" - Si vous y êtes invité, saisissez le mot de passe du TrustStore.
- Remplacez
-
Vérifiez que le TrustStore contient les certificats racine et intermédiaires DigiCert requis pour les points d’entrée Adobe Experience Manager as a Cloud Service.Recherchez des entrées telles que
DigiCert Global Root G2ou d’autres certificats racine/intermédiaires DigiCert. -
Pour afficher les détails d’un alias de certificat DigiCert spécifique, exécutez :
keytool -list -v -keystore -alias -
Vérifiez que votre application Java utilise le TrustStore et la version Java attendus.
- Exécuter :
java -version - Assurez-vous qu’aucun paramètre JVM SSL/truststore personnalisé, tel que
javax.net.ssl.trustStoreoujavax.net.ssl.trustStoreType, ne remplace le TrustStore par défaut.
- Exécuter :
-
Si OpenSSL valide la chaîne de certificats, mais pas Java, le problème est probablement lié à la configuration du TrustStore Java ou à des certificats DigiCert manquants.
Remarque : n’importez pas de certificats DigiCert supplémentaires ou en double, sauf indication contraire.
-
Après avoir confirmé que les certificats DigiCert requis sont présents et que le TrustStore correct est utilisé, redémarrez votre application et vérifiez que l’erreur de négociation SSL est résolue.