Solution 1 :
Assurez-vous qu'il ne manque aucun certificat dans la chaîne, dans le SSLCertificateChainFile
fichier, il devrait y avoir tous les certificats dans l'ordre depuis l'autorité de certification en premier, puis jusqu'à tout certificat intermédiaire utilisé pour signer votre CRT, sinon vous obtiendrez l'erreur.
Si vous n'avez pas de certificats intermédiaires (en regardant la page Digicert, il semble qu'il n'y en ait pas http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm), vous devez utiliser SSLCACertificateFile
à la place
Solution 2 :
Mise à jour d'un ancien fil...
Cela s'est produit lorsque j'ai créé un fichier de chaîne CA en cat-ing l'intermédiaire et la racine .crt
fichiers ensemble dans un nouveau .ca-bundle
dossier; le problème était que le premier des fichiers de certificat ne se terminait pas par une nouvelle ligne, donc sa ligne "END" et la suivante BEGIN
ligne ont été jointes, comme
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
Je viens d'éditer le fichier et d'insérer la nouvelle ligne, en donnant :
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Et puis ça a marché.
Solution 3 :
Le correctif ci-dessus peut être utile, mais pour moi, le correctif était le suivant :
http://blog.oneiroi.co.uk/openssl/x.509/pcks7/openssl-unable-to-load-certificate-wrong-asn1-encoding-routines-asn1-check-tlen-tag-tasn-dec- point-c-1319/
Au cas où le lien irait :
Le format dans ce cas est p7b (PCKS #7); pour utiliser le certificat avec apache vous allez devoir le convertir.
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Dans le fichier .cer résultant, vous déposerez votre certificat x.509 avec les certificats CA pertinents, divisez-les en vos fichiers .crt et ca.crt pertinents et chargez-les normalement dans apache.
Solution 4 :
Eh bien, c'était à l'origine un commentaire à @lynxman mais c'était trop long.
Je viens d'avoir ce problème en utilisant Let's Encrypt cert avec Arch Linux. Au démarrage après le premier redémarrage dans quelques mois, le httpd
le service a échoué avec cette erreur :
AH01903: Failed to configure CA certificate chain!
J'ai d'abord essayé de renouveler le certificat car c'est facile et gratuit. Mon SSLCertificateChainFile
avait alors un certificat répertorié au lieu de deux (?). J'ai donc commenté cette ligne :
#SSLCertificateChainFile "/etc/letsencrypt/live/mywebsite.com/chain.pem"
Voila ! Il a bien démarré. ¯_(ツ)_/¯