Beheben von PKIX- und SSL-Konfigurationsproblemen in AEM Forms

AEM Forms kann aufgrund fehlender Zertifikate, falscher Keystore-Konfiguration oder falsch konfigurierter SSL-Ports nicht über SSL kommunizieren. Beheben Sie das Problem, indem Sie Zertifikatsketten validieren, den JVM-TrustStore aktualisieren und die SSL-Konfiguration in JBoss oder WebSphere korrigieren.

Beschreibung description

Umgebung

  • AEM Forms (JEE und OSGi)
  • JBoss
  • WebSphere
  • Adobe Managed Services (AMS)
  • On-Premise-Umgebungen

Problem/Symptome

  • Erstellung des javax.net.ssl.SSLHandshakeException: PKIX fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  • Fehler beim Erstellen des java.sql.SQLRecoverableException: IO Error PKIX.
  • JBoss EJB-Aufruf schlägt fehl mit deaktivierter SSL-Funktion oder unvollständiger Konfiguration: remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
  • AEM-Startfehler, bei denen der SSL-Konfigurationsassistent den Namen/das Kennwort des Keystores anfordert und nicht fortfahren kann.

Lösung resolution

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

  1. Überprüfen Sie Protokolle wie standalone/log/server.logoder SystemOut.log, um SSL-Fehlersignaturen wie PKIX-Fehler, SSLHandshakeException oder fehlende KeyStore-Kennwörter zu identifizieren.

  2. Bestätigen Sie die Fehlerverweise auf Probleme mit der Zertifikatvertrauensstellung oder dem Laden des Keystores.

  3. Extrahieren Sie das Serverzertifikat und seine vollständige Kette, einschließlich Server-, Zwischen- und Stamm-CA-Zertifikaten, und stellen Sie sicher, dass das Zertifikat mit dem in den Protokollen beobachteten Hostnamen übereinstimmt.

  4. Importieren Sie fehlende Zertifikate in den JVM TrustStore unter JAVA_HOME/lib/security/cacerts mithilfe des Keytools und überprüfen Sie die Installation, indem Sie den Alias auflisten. Stellen Sie sicher, dass der richtige KeyStore-Pfad und das richtige Kennwort verwendet werden.

    keytool -importcert -alias <alias> -file <certfile.pem> -keystore <JAVA_HOME>/lib/security/cacerts

  5. Starten Sie JBoss oder WebSphere neu, um den TrustStore neu zu laden und sicherzustellen, dass beim Start keine SSL-Fehler mehr auftreten.

  6. Führen Sie den fehlgeschlagenen Vorgang erneut aus, z. B. die Datenbankverbindung oder den HTTPS-Aufruf.

  7. Wenn der SSL-Konfigurationsassistent KeyStore-Eingaben anfordert und das Kennwort unbekannt ist, erstellen Sie einen neuen KeyStore, indem Sie einen neuen Dateinamen, ein KeyStore-Kennwort und ein KeyStore-Kennwort angeben.

  8. Überprüfen Sie, ob die KeyStore-Datei im Konfigurationsverzeichnis vorhanden ist.

  9. Überprüfen Sie die JBoss HTTPS-Listener-Konfiguration in standalone.xml oder domain.xml.

  10. Stellen Sie sicher, dass der SSL-Bereich- und der HTTPS-Listener vorhanden sind und fehlerfrei geladen werden.

  11. Bei datenbankbezogenen SSL-Fehlern, insbesondere bei SQL Server unter Verwendung von encrypt=true;trustServerCertificate=false, importieren Sie das Datenbankzertifikat in den TrustStore oder legen Sie trustServerCertificate=true vorübergehend fest.

  12. Stellen Sie sicher, dass der Datenquellentest erfolgreich ist.

  13. Überprüfen Sie die EJB-SSL-Konfiguration, wenn sich Fehler auf Port 8443 beziehen.

  14. Stellen Sie sicher, dass SSL für den EJB-Traffic aktiviert und korrekt konfiguriert ist, und stellen Sie sicher, dass keine Aufruffehler mehr auftreten.

  15. Testen Sie den ursprünglichen fehlgeschlagenen Vorgang erneut und bestätigen Sie, dass die Protokolle keine SSLHandshakeException oder verwandte Fehler enthalten.

Wenn das Problem weiterhin besteht, führen Sie eine tiefere Validierung durch, indem Sie Zertifikate mithilfe von OpenSSL vergleichen und TrustStore-Einträge überprüfen.

Verwandtes Lesen

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