Creazione percorso PKIX SSLHandshakeException non riuscita in Adobe Experience Manager as a Cloud Service
In Adobe Experience Manager as a Cloud Service, un server applicazioni basato su Java non riesce a connettersi a un endpoint AEMaaCS e visualizza un errore di handshake SSL con un messaggio di errore durante la generazione del percorso PKIX. Ciò si verifica quando Java non è in grado di stabilire una catena di certificati attendibile per l’endpoint. Per risolvere questo problema, verifica la configurazione del truststore Java e verifica che i certificati DigiCert richiesti siano presenti e attendibili.
Descrizione description
Ambiente
- Adobe Experience Manager as a Cloud Service (tutte le versioni)
- Application server interno basato su Java
Problema/Sintomi
- L’applicazione Java non riesce a connettersi a un endpoint AEMaaCS con la generazione di un percorso PKIX non riuscita/errore SSLHandshakeException.
- La convalida OpenSSL dallo stesso server ha esito positivo.
Causa
Il runtime Java utilizzato dall’applicazione non considera attendibili i certificati radice o intermedi DigiCert richiesti per l’endpoint AEMaaCS, causando un errore di convalida della catena di certificati.
Risoluzione resolution
Per risolvere il problema, segui la procedura riportata di seguito.
-
Identifica il file TrustStore Java utilizzato dall’applicazione.Per impostazione predefinita, si tratta in genere del file
cacertsnella directory di sicurezza dell’installazione Java. -
Elencare i certificati DigiCert nel file TrustStore utilizzando il comando seguente.
- Sostituisci
<path-to-truststore>con il tuo percorso truststore. - Esecuzione:
keytool -list -keystore <path-to-truststore> | grep -i "DigiCert" - Se richiesto, immettere la password del truststore.
- Sostituisci
-
Conferma che il truststore contenga i certificati radice e intermedi DigiCert richiesti per gli endpoint Adobe Experience Manager as a Cloud Service.Cercare voci quali
DigiCert Global Root G2o altri certificati radice/intermedi DigiCert. -
Per visualizzare i dettagli di un alias di certificato DigiCert specifico, eseguire le operazioni seguenti:
keytool -list -v -keystore -alias -
Verifica che l’applicazione Java utilizzi il truststore e la versione Java previsti.
- Esecuzione:
java -version - Verificare che non vi siano impostazioni JVM SSL/truststore personalizzate, ad esempio
javax.net.ssl.trustStoreojavax.net.ssl.trustStoreType, che ignorano il truststore predefinito.
- Esecuzione:
-
Se OpenSSL convalida la catena di certificati ma Java non lo convalida, è probabile che il problema si verifichi con la configurazione del truststore Java o con certificati DigiCert mancanti.
Nota: non importare certificati DigiCert aggiuntivi o duplicati a meno che non sia espressamente indicato.
-
Dopo aver verificato la presenza dei certificati DigiCert richiesti e l’utilizzo del truststore corretto, riavviare l’applicazione e verificare che l’errore di handshake SSL sia stato risolto.