Erreurs de validation du certificat SSL d’AEM causées par des certificats manquants ou non approuvés
Les connexions HTTPS et mTLS sortantes de Adobe Experience Manager (AEM) échouent lorsque l’exécution Java, le TrustStore d’AEM ou l’environnement de développement local n’approuve pas la chaîne de certificats du serveur distant. Ce problème se produit lorsque les certificats racines ou intermédiaires requis sont manquants, que les chaînes de certificats sont incomplètes, que l’interception SSL introduit des certificats non approuvés ou que les relations d’approbation changent après les mises à niveau de Java. Pour résoudre le problème, validez les certificats, mettez à jour les TrustStores et vérifiez la connectivité.
Description description
Environnement
Adobe Experience Manager as a Cloud Service (AEMaaCS)
Problème/Symptômes
- Les journaux d’application affichent javax.net.ssl.SSLHandshakeException : échec de la création du chemin PKIX, ce qui indique que Java ne peut pas créer de chemin de certification approuvé vers le point d’entrée distant.
- Les outils de développement local tels que l’interface de ligne de commande AIO ou la récupération de nœud affichent
SELF_SIGNED_CERT_IN_CHAIN, indiquant qu’un certificat non approuvé existe dans la chaîne SSL. - Les navigateurs affichent Votre connexion n’est pas privée lors de l’accès à des points d’entrée sécurisés, car la chaîne de certificat est incomplète.
- Les environnements de développement locaux affichent impossible d’obtenir le certificat de l’émetteur local, indiquant que le TrustStore local n’approuve pas la chaîne de certificats.
- Les appels mTLS sortants échouent même lorsque la configuration du KeyStore semble correcte.
Cause première
Le problème se produit car AEM ou le runtime Java sous-jacent n’approuve pas la chaîne de certificats du serveur distant. Les autorités de certification racine ou intermédiaires manquantes, les chargements de certificat incomplets, les proxys d’inspection SSL, les modifications du TrustStore Java et les échecs de validation d’approbation SDK locale empêchent la validation réussie de la négociation SSL.
Résolution resolution
Pour identifier et résoudre les problèmes d’approbation des certificats SSL, procédez comme suit :
- Identifiez l’erreur de validation du certificat en examinant les journaux AEM, la sortie de l’interface de ligne de commande Cloud Manager, les traces de pile JVM ou les journaux de développement local pour obtenir des messages tels que Échec de création du chemin PKIX ou SELF_SIGNED_CERT_IN_CHAIN.
- Extrayez la chaîne de certificats du serveur distant en exécutant
openssl s_client -showcerts -connect <host>:443et vérifiez que tous les certificats de la chaîne sont renvoyés. - Déterminez la catégorie d’échec en identifiant si le problème est causé par un certificat manquant, une chaîne incomplète, une interception SSL, des problèmes d’approbation de navigateur ou des échecs de validation d’approbation de développement local.
- Ajoutez les certificats racine et intermédiaires manquants au TrustStore d’AEM. Pour AEM as a Cloud Service, importez des certificats par le biais du TrustStore global. Pour les environnements AMS ou On-Premise, importez des certificats dans le TrustStore Java à l’aide de l’outil keytool.
- Chargez une chaîne de certificats complète contenant des certificats feuilles, intermédiaires et racines lorsque les avertissements de certificat basés sur un navigateur indiquent une chaîne incomplète.
- Résolvez les problèmes de certificat de développement local en ajoutant le certificat d’autorité de certification d’entreprise requis au système d’exploitation local ou au TrustStore Node.js.
- Redémarrez l’instance AEM ou le processus Java après les mises à jour du TrustStore dans les environnements AMS ou On-Premise afin que les certificats mis à jour se chargent correctement.
- Validez la connectivité sortante à l’aide de SSLoke ou d’appels d’API au niveau de l’application et vérifiez que les échecs de négociation SSL ne se produisent plus.
- Validez la résolution en confirmant que les connexions sortantes réussissent, que les erreurs SSLHandshakeException n’apparaissent plus dans les journaux et que la validation du certificat se termine correctement.
Quand réaffecter
- Les échecs de négociation SSL se poursuivent même si le TrustStore contient les certificats requis.
- La chaîne de certificats semble terminée, mais les connexions sortantes continuent d’échouer.
- Les certificats d’inspection SSL ou de proxy ne peuvent pas être validés ou approuvés dans l’environnement.
- La validation SSL sortante reste infructueuse après les mises à jour du TrustStore et la validation de la connectivité.