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_CHAIN an, 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:

  1. 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).
  2. Extrahieren Sie die Zertifikatskette des Remote-Servers, indem Sie openssl s_client -showcerts -connect <host>:443 ausführen, und überprüfen Sie, ob alle Zertifikate in der Kette zurückgegeben werden.
  3. 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.
  4. 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.
  5. Laden Sie eine vollständige Zertifikatskette hoch, die Blatt-, Zwischen- und Stammzertifikate enthält, wenn browserbasierte Zertifikatwarnungen auf eine unvollständige Kette hinweisen.
  6. Beheben Sie Probleme mit lokalen Entwicklungszertifikaten, indem Sie das erforderliche Zertifizierungsstellenzertifikat des Unternehmens zum lokalen Betriebssystem oder zum Node.js-TrustStore hinzufügen.
  7. 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.
  8. Ü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.
  9. Ü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.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles