SECURITY GUIA

Certificate Chain: Valide a Cadeia Completa de Certificados SSL

Como funciona a cadeia de confianca dos certificados, como diagnosticar certificados intermediarios faltantes e resolver erros.

A cadeia de confianca: do leaf a root

A seguranca dos certificados SSL se baseia em uma cadeia de confianca hierarquica. Seu certificado (leaf certificate) nao e confiado diretamente pelo navegador: e assinado por uma CA intermediaria, que por sua vez e assinada por uma root CA. O navegador tem um trust store com as root CAs confiaveis (aproximadamente 150 root CAs nos navegadores modernos). Para confiar no seu certificado, o navegador deve poder construir a cadeia completa do leaf ate uma root CA no seu trust store. Se falta um elo, a cadeia se quebra e o navegador mostra um erro.

A ferramenta Certificate Chain visualiza a cadeia completa retornada pelo servidor, verificando a assinatura de cada certificado, as datas de validade de cada um, e a completude da cadeia. E mais detalhada que o SSL Check: enquanto esse fornece um grau geral, o Certificate Chain se concentra especificamente na estrutura da cadeia, identificando certificados faltantes, certificados na ordem errada, e certificados expirados na cadeia.

Problemas comuns na cadeia

Cadeia de certificados correta vs incompleta
# Catena CORRETTA (3 certificati)
[1] CN=esempio.com          (leaf - il tuo certificato)
  ↓ firmato da
[2] CN=Let's Encrypt R3      (CA intermedia)
  ↓ firmato da
[3] CN=ISRG Root X1          (root CA - nel trust store)

# Catena INCOMPLETA (manca l'intermedio)
[1] CN=esempio.com          (leaf)
  ↓ firmato da
[?] MANCANTE!                ← errore per alcuni browser
  ↓
[3] CN=ISRG Root X1          (root - non raggiungibile)

O problema mais frequente e o certificado intermediario faltante. O servidor deve enviar o leaf e todos os intermediarios (mas nao a root). Se falta um intermediario, alguns navegadores e clientes (especialmente moveis, cURL, aplicacoes Java) nao conseguem validar a cadeia e mostram um erro. O Chrome no desktop frequentemente funciona de qualquer forma porque baixa automaticamente os intermediarios faltantes (AIA fetching), mascarando o problema. Por isso e fundamental testar com uma ferramenta dedicada como nosso Certificate Chain.

Configurar corretamente a cadeia

Para configurar corretamente a cadeia, concatene o certificado do servidor com os certificados intermediarios em um unico arquivo (bundle ou fullchain). A ordem e: leaf primeiro, depois os intermediarios do mais proximo ao leaf ao mais proximo da root. Nao inclua o certificado root. No Nginx: ssl_certificate aponta para o fullchain. No Apache: SSLCertificateFile para o leaf, SSLCertificateChainFile para os intermediarios. Let's Encrypt fornece diretamente o arquivo fullchain.pem contendo leaf + intermediarios.

Apos a configuracao, verifique com Certificate Chain e com SSL Check para o grau. Se emite certificados para multiplos subdominios, verifique a cadeia em cada um — a configuracao pode ser diferente. Verifique tambem que seu dominio tenha os registros CAA Record Lookup configurados para limitar quais CAs podem emitir certificados, adicionando um nivel adicional de protecao a sua PKI.

Um caso particular e o cross-signing: Let's Encrypt usou inicialmente um certificado intermediario cross-signed pela root DST Root CA X3 (mais antiga e difundida) para garantir compatibilidade com dispositivos Android anteriores a 7.1. Com a transicao para sua propria root ISRG Root X1, alguns dispositivos antigos podem ter problemas. Se seu publico inclui dispositivos muito antigos, verifique a compatibilidade da cadeia com esses clientes especificos.

Experimente Certificate Chain grátis
Visualiza e valida a cadeia completa de certificados SSL
Usar Certificate Chain >

Explore the Network