Soluzione 1:
Assicurati che non ci siano certificati mancanti nella catena, nel SSLCertificateChainFile
dovrebbero esserci tutti i certificati in ordine prima dalla CA e poi fino a qualsiasi certificato intermedio utilizzato per firmare il tuo CRT, altrimenti riceverai l'errore.
Se non hai certificati intermedi (guardando la pagina Digicert sembra che non ce ne siano http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm) dovresti usare SSLCACertificateFile
invece
Soluzione 2:
Un aggiornamento a un vecchio thread...
Mi è appena successo quando ho creato un file di catena CA eseguendo il cating dell'intermedio e della radice .crt
file insieme in un nuovo .ca-bundle
file; il problema era che il primo dei file cert non terminava con una nuova riga, quindi la sua riga "END" e il successivo BEGIN
le linee sono state unite insieme, come
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
Ho appena modificato il file e inserito la nuova riga, dando:
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
E poi ha funzionato.
Soluzione 3:
La correzione sopra può essere utile, ma per me la correzione era questa:
http://blog.oneiroi.co.uk/openssl/x.509/pcks7/openssl-unable-to-load-certificate-wrong-asn1-encoding-routines-asn1-check-tlen-tag-tasn-dec- punto-c-1319/
Nel caso in cui il link vada:
Il formato in questo caso è p7b (PCKS #7); per utilizzare il certificato con Apache dovrai convertirlo.
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
All'interno del file .cer risultante archivierai il tuo certificato x.509 in bundle con i certificati CA pertinenti, li suddividerai nei file .crt e ca.crt pertinenti e li caricherai normalmente in Apache.
Soluzione 4:
Beh, questo era originariamente un commento a @lynxman ma era troppo lungo.
Ho appena riscontrato questo problema utilizzando Let's Encrypt cert con Arch Linux. All'avvio dopo il primo riavvio in un paio di mesi il httpd
servizio non riuscito con questo errore:
AH01903: Failed to configure CA certificate chain!
Per prima cosa ho provato a rinnovare il certificato poiché è facile e gratuito. Il mio SSLCertificateChainFile
quindi era elencato un certificato invece di due (?). Quindi ho commentato quella riga:
#SSLCertificateChainFile "/etc/letsencrypt/live/mywebsite.com/chain.pem"
Ecco! È iniziato bene. ¯_(ツ)_/¯