AEM-SSL-Zertifikatvalidierungsfehler, die durch fehlende oder nicht vertrauenswürdige Zertifikate verursacht werden
Ausgehende Adobe Experience Manager (AEM)-HTTPS- und -mTLS-Verbindungen schlagen fehl, wenn die Zertifikatskette des Remote-Servers von der Java-Laufzeitumgebung, dem AEM TrustStore oder der lokalen Entwicklungsumgebung nicht als vertrauenswürdig eingestuft wird. Dieses Problem tritt auf, wenn erforderliche Stamm- oder Zwischenzertifikate fehlen, Zertifikatketten unvollständig sind, das SSL-Abfangen nicht vertrauenswürdige Zertifikate einführt oder sich Vertrauensbeziehungen nach Java-Upgrades ändern. Um das Problem zu beheben, validieren Sie Zertifikate, aktualisieren Sie TrustStores und überprüfen Sie die Konnektivität.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (AEMaaCS)
Problem/Symptome
- In den Anwendungsprotokollen werden javax.net.ssl.SSLHandshakeException: PKIX path building failed angezeigt, was darauf hinweist, dass Java keinen vertrauenswürdigen Zertifizierungspfad zum Remote-Endpunkt erstellen kann.
- Lokale Entwicklungs-Tools wie aio CLI oder Node-Fetch zeigen
SELF_SIGNED_CERT_IN_CHAINan, dass in der SSL-Kette ein nicht vertrauenswürdiges Zertifikat vorhanden ist. - Browser zeigen Ihre Verbindung ist nicht privat beim Zugriff auf gesicherte Endpunkte an, da die Zertifikatkette unvollständig ist.
- In lokalen Entwicklungsumgebungen wird angezeigt lokales Ausstellerzertifikat kann nicht abgerufen werden was darauf hinweist, dass der lokale TrustStore der Zertifikatkette nicht vertraut.
- Ausgehende mTLS-Aufrufe schlagen fehl, selbst wenn die KeyStore-Konfiguration korrekt erscheint.
Grundursache
Das Problem tritt auf, weil AEM oder die zugrunde liegende Java-Laufzeitumgebung der Zertifikatskette des Remoteservers nicht vertraut. Fehlende Stamm- oder Zwischenzertifikatbehörden, unvollständige Zertifikat-Uploads, SSL-Inspektions-Proxys, Java-TrustStore-Änderungen und lokale SDK-Vertrauensüberprüfungsfehler verhindern eine erfolgreiche SSL-Handshake-Überprüfung.
Lösung resolution
Führen Sie die folgenden Schritte aus, um Vertrauensprobleme mit SSL-Zertifikaten zu identifizieren und zu beheben:
- Identifizieren Sie den Zertifikatvalidierungsfehler, indem Sie die AEM-Protokolle, die Cloud Manager-CLI-Ausgabe, JVM-Stacktraces oder lokalen Entwicklungsprotokolle auf Meldungen wie PKIX-Pfaderstellung fehlgeschlagen oder SELF_SIGNED_CERT_IN_CHAIN).
- Extrahieren Sie die Zertifikatskette des Remote-Servers, indem Sie
openssl s_client -showcerts -connect <host>:443ausführen, und überprüfen Sie, ob alle Zertifikate in der Kette zurückgegeben werden. - Bestimmen Sie die Fehlerkategorie, indem Sie identifizieren, ob das Problem durch ein fehlendes Zertifikat, eine unvollständige Kette, SSL-Abfangen, Probleme mit der Browser-Vertrauenswürdigkeit oder lokale Fehler bei der Überprüfung der Vertrauenswürdigkeit der Entwicklung verursacht wird.
- Hinzufügen fehlender Stamm- und Zwischenzertifikate zum AEM TrustStore. Importieren Sie für AEM as a Cloud Service Zertifikate über den globalen TrustStore. Importieren Sie bei AMS- oder On-Premise-Umgebungen Zertifikate mithilfe des Keytools in den Java TrustStore.
- Laden Sie eine vollständige Zertifikatskette hoch, die Blatt-, Zwischen- und Stammzertifikate enthält, wenn browserbasierte Zertifikatwarnungen auf eine unvollständige Kette hinweisen.
- Beheben Sie Probleme mit lokalen Entwicklungszertifikaten, indem Sie das erforderliche Zertifizierungsstellenzertifikat des Unternehmens zum lokalen Betriebssystem oder zum Node.js-TrustStore hinzufügen.
- Starten Sie die AEM-Instanz oder den Java-Prozess nach der Aktualisierung des TrustStore in AMS- oder On-Premise-Umgebungen neu, damit die aktualisierten Zertifikate erfolgreich geladen werden.
- Überprüfen Sie die ausgehende Konnektivität mithilfe von SSLPoke- oder API-Aufrufen auf Anwendungsebene und stellen Sie sicher, dass SSL-Handshake-Fehler nicht mehr auftreten.
- Überprüfen Sie die Lösung, indem Sie bestätigen, dass ausgehende Verbindungen erfolgreich sind, SSLHandshakeException-Fehler nicht mehr in den Protokollen angezeigt werden und die Zertifikatsüberprüfung erfolgreich abgeschlossen wurde.
Wann eskalieren
- SSL-Handshake-Fehler treten weiterhin auf, obwohl der TrustStore die erforderlichen Zertifikate enthält.
- Die Zertifikatskette scheint vollständig zu sein, aber ausgehende Verbindungen schlagen weiterhin fehl.
- SSL-Prüfungs- oder Proxy-Zertifikate können in der Umgebung nicht validiert oder vertrauenswürdig sein.
- Ausgehende SSL-Validierung ist nach TrustStore-Aktualisierungen und Konnektivitätsvalidierung weiterhin nicht erfolgreich.