Solución 1:
Asegúrese de que no falten certificados en la cadena, en el SSLCertificateChainFile
debe haber todos los certificados en orden desde la CA primero y luego hasta cualquier certificado intermedio que se haya utilizado para firmar su CRT; de lo contrario, obtendrá el error.
Si no tiene ningún certificado intermedio (mirando la página de Digicert parece que no hay ninguno http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm) debe usar SSLCACertificateFile
en cambio
Solución 2:
Una actualización de un hilo antiguo...
Acabo de pasar esto cuando creé un archivo de cadena CA al seleccionar el intermedio y la raíz .crt
archivos juntos en un nuevo .ca-bundle
expediente; el problema era que el primero de los archivos de certificado no terminaba con una nueva línea, por lo que su línea "FIN" y el siguiente BEGIN
línea se unieron, como
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
Acabo de editar el archivo y puse la nueva línea, dando:
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Y luego funcionó.
Solución 3:
La solución anterior puede ser útil, pero para mí la solución fue esta:
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/
En caso de que el enlace vaya:
El formato en este caso es p7b (PCKS #7); para usar el certificado con apache, tendrá que convertir esto.
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Dentro del archivo .cer resultante, archivará su certificado x.509 junto con los certificados de CA relevantes, divídalos en sus archivos .crt y ca.crt relevantes y cárguelos normalmente en apache.
Solución 4:
Bueno, originalmente era un comentario para @lynxman, pero era demasiado largo.
Acabo de tener este problema al usar el certificado Let's Encrypt con Arch Linux. Al arrancar después del primer reinicio en un par de meses, el httpd
el servicio falló con este error:
AH01903: Failed to configure CA certificate chain!
Primero intenté renovar el certificado ya que es fácil y gratuito. Mi SSLCertificateChainFile
luego tenía un certificado en la lista en lugar de dos (?). Así que comenté esa línea:
#SSLCertificateChainFile "/etc/letsencrypt/live/mywebsite.com/chain.pem"
¡Voila! Empezó bien. ¯_(ツ)_/¯