Correzione dei problemi di configurazione di PKIX e SSL in AEM Forms
AEM Forms non riesce a comunicare su SSL a causa di certificati mancanti, configurazione non corretta del keystore o porte SSL non configurate correttamente. Risolvere il problema convalidando le catene di certificati, aggiornando il truststore JVM e correggendo la configurazione SSL in JBoss o WebSphere.
Descrizione description
Ambiente
- AEM Forms (JEE e OSGi)
- JBoss
- WebSphere
- Adobe Managed Services (AMS)
- ambienti on-premise
Problema/Sintomi
- Compilazione del percorso
javax.net.ssl.SSLHandshakeException: PKIXnon riuscita:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - Creazione del percorso
java.sql.SQLRecoverableException: IO Error PKIXnon riuscita. - Chiamata EJB JBoss non riuscita con SSL disabilitato o configurazione incompleta:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false - Errore di avvio di AEM in cui la configurazione guidata SSL richiede nome/password del keystore e non può procedere.
Risoluzione resolution
Per risolvere il problema, eseguire la procedura seguente:
-
Esaminare i registri come
standalone/log/server.logoSystemOut.logper identificare le firme di errore SSL come errori PKIX, SSLHandshakeException o password del keystore mancante. -
Conferma l’errore fa riferimento a problemi di attendibilità del certificato o di caricamento del keystore.
-
Estrai il certificato del server e la relativa catena completa, inclusi i certificati del server, intermedi e CA radice, e assicurati che il certificato corrisponda al nome host osservato nei registri.
-
Importare i certificati mancanti nel truststore JVM in
JAVA_HOME/lib/security/cacertsutilizzando lo strumento chiave e verificare l’installazione elencando l’alias. Assicurati di utilizzare il percorso e la password corretti per il keystore.keytool -importcert -alias <alias> -file <certfile.pem> -keystore <JAVA_HOME>/lib/security/cacerts -
Riavviare JBoss o WebSphere per ricaricare il file TrustStore e verificare che gli errori SSL non vengano più visualizzati durante l’avvio.
-
Rieseguire l’operazione non riuscita, ad esempio la connessione al database o la chiamata HTTPS.
-
Se la configurazione SSL guidata richiede input del keystore e la password è sconosciuta, creare un nuovo keystore specificando un nuovo nome di file, una nuova password del keystore e una nuova password della chiave.
-
Verificare che il file keystore esista nella directory di configurazione.
-
Convalidare la configurazione del listener JBoss HTTPS in
standalone.xmlodomain.xml. -
Verificare che il listener SSLRealm e HTTPS esistano e vengano caricati correttamente senza errori.
-
Per gli errori SSL relativi al database, in particolare con SQL Server che utilizza
encrypt=true;trustServerCertificate=false, importare il certificato del database nel truststore o impostare temporaneamentetrustServerCertificate=true. -
Verifica che il test dell’origine dati abbia esito positivo.
-
Controlla la configurazione SSL EJB se gli errori si riferiscono alla porta 8443.
-
Verifica che SSL sia abilitato e configurato correttamente per il traffico EJB e che non si verifichino più errori di chiamata.
-
Eseguire nuovamente il test dell’operazione originale non riuscita e i registri di conferma non contengono SSLHandshakeException o errori correlati.
Se i problemi persistono, eseguire una convalida più approfondita confrontando i certificati utilizzando openssl e verificando le voci del truststore.