Erros de validação de certificado SSL do AEM causados por certificados ausentes ou não confiáveis
As conexões HTTPS e mTLS de saída do Adobe Experience Manager (AEM) falham quando o tempo de execução do Java, o AEM truststore ou o ambiente de desenvolvimento local não confia na cadeia de certificados do servidor remoto. Esse problema ocorre quando os certificados raiz ou intermediários necessários estão ausentes, as cadeias de certificados estão incompletas, a interceptação SSL introduz certificados não confiáveis ou as relações de confiança são alteradas após as atualizações do Java. Para resolver o problema, valide certificados, atualize truststores e verifique a conectividade.
Descrição description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS)
Problema/Sintomas
- Os logs do aplicativo exibem javax.net.ssl.SSLHandshakeException: falha na compilação do caminho PKIX, indicando que o Java não pode criar um caminho de certificação confiável para o ponto de extremidade remoto.
- Ferramentas de desenvolvimento locais, como aio CLI ou node-fetch display
SELF_SIGNED_CERT_IN_CHAIN, indicando que existe um certificado não confiável na cadeia SSL. - Os navegadores exibem Sua conexão não é privada ao acessar pontos de extremidade protegidos porque a cadeia de certificados está incompleta.
- Os ambientes de desenvolvimento locais exibem não é possível obter o certificado do emissor local, indicando que o truststore local não confia na cadeia de certificados.
- As chamadas mTLS de saída falham mesmo quando a configuração do armazenamento de chaves parece correta.
Causa raiz
O problema ocorre porque o AEM ou o tempo de execução subjacente do Java não confia na cadeia de certificados do servidor remoto. Autoridades de certificação raiz ou intermediárias ausentes, uploads de certificados incompletos, proxies de inspeção SSL, alterações de truststore Java e falhas de validação de confiança SDK local impedem que a validação de handshake SSL seja bem-sucedida.
Resolução resolution
Siga estas etapas para identificar e resolver problemas de confiança do certificado SSL:
- Identifique o erro de validação de certificado revisando logs do AEM, saída da CLI do Cloud Manager, rastreamentos de pilha JVM ou logs de desenvolvimento local de mensagens, como falha na criação do caminho PKIX ou SELF_SIGNED_CERT_IN_CHAIN.
- Extraia a cadeia de certificados do servidor remoto executando
openssl s_client -showcerts -connect <host>:443e verifique se todos os certificados na cadeia são retornados. - Determine a categoria da falha identificando se o problema é causado por um certificado ausente, uma cadeia incompleta, interceptação SSL, problemas de confiança do navegador ou falhas de validação de confiança de desenvolvimento local.
- Adicione certificados raiz e intermediários ausentes ao AEM truststore. Para o AEM as a Cloud Service, importe certificados por meio da Truststore Global. Para ambientes AMS ou no local, importe certificados para a truststore Java usando a ferramenta de chave.
- Fazer upload de uma cadeia de certificados completa contendo certificados folha, intermediários e raiz quando os avisos de certificado baseados em navegador indicarem uma cadeia incompleta.
- Resolva problemas de certificado de desenvolvimento local adicionando o certificado de CA corporativo necessário ao sistema operacional local ou à truststore Node.js.
- Reinicie a instância do AEM ou o processo Java após as atualizações do truststore em ambientes AMS ou no local para que os certificados atualizados sejam carregados com êxito.
- Valide a conectividade de saída usando SSLPoke ou chamadas de API no nível do aplicativo e verifique se as falhas de handshake SSL não ocorrem mais.
- Valide a resolução confirmando se as conexões de saída foram bem-sucedidas, se os erros SSLHandshakeException não aparecem mais nos logs e se a validação do certificado for concluída com êxito.
Quando escalonar
- As falhas de handshake SSL continuam mesmo se o truststore contiver os certificados necessários.
- A cadeia de certificados parece concluída, mas as conexões de saída continuam a falhar.
- A inspeção SSL ou os certificados de proxy não podem ser validados ou confiáveis no ambiente.
- A validação SSL de saída permanece sem sucesso após as atualizações do truststore e a validação da conectividade.