Recentemente, deparei-me com um problema relacionado em cert_exists() enquanto investigava a reutilização de certificados Let’s Encrypt.
No meu caso, os arquivos de certificado e ambos os diretórios RSA/ECDSA estavam presentes, mas a verificação atual ainda estava retornando falso porque openssl x509 -in ca.cer apenas mantém o primeiro certificado do bundle do emissor.
Usando:
openssl verify -untrusted ca.cer fullchain.cer
corrigiu a verificação. Também testei com certificados RSA e ECDSA reais e concluí uma reconstrução que reutilizou ambos os certificados existentes sem acionar a reemissão forçada.
Isso pode não ser a mesma causa raiz do diretório _ecc ausente descrito neste tópico, mas afeta o mesmo caminho de cert_exists(), então estou vinculando-o aqui, caso seja útil para alguém que esteja enfrentando sintomas semelhantes.
Relatório: Let's Encrypt: "unable to get issuer certificate" (error 2), forced reissuance and rate limits
PR: FIX: preserve the Let's Encrypt issuer chain in cert_exists - Pull Request #1136 - discourse/discourse_docker - GitHub