7 votes

Erreur lors de la tentative de démarrage d'Apache après l'installation du certificat SSL

Je tente d'installer un certificat SSL et je reçois les erreurs suivantes :

AH02241: Init: Unable to read server certificate from file /path/my.crt
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=X509)
AH02312: Fatal error initialising mod_ssl, exiting.

Voici le processus que j'ai suivi :

J'ai généré ma clé privée avec :

openssl genrsa -out my.key 2048

J'ai créé le CSR avec :

openssl req -new -key my.key -out my.csr

J'ai fourni le CSR à notre département informatique, et ils ont renvoyé un crt - cela commence par

-----BEGIN CERTIFICATE-----

Mon fichier ssl.conf a (mon.example.com correspond au nom commun utilisé lors de la génération du CSR) :

   SSLEngine On
   ServerName my.example.com 
   SSLCertificateFile /path/my.crt
   SSLCertificateKeyFile /path/my.key

Je n'ai pas défini de SSLCertificateChainFile ou de fichier SSLCACertificate.

La clé privée commence par

----BEGIN RSA PRIVATE KEY-----

Le CSR commence par

-----BEGIN CERTIFICATE REQUEST-----

J'ai vérifié que :

openssl rsa -noout -modulus -in my.key
openssl req -noout -modulus -in my.csr 

produisent la même sortie. Je n'arrive pas à comprendre comment vérifier le crt - essayer à la fois x509 et rsa produit une erreur.

Ce processus aurait-il dû fonctionner ? Puis-je vérifier que mon.crt correspond à la clé d'une manière ou d'une autre ?

8voto

Il se trouve que le certificat qui m'a été fourni était mauvais.

Exécution

openssl x509 -in my.crt -text

aurait dû fonctionner, mais comme le certificat était corrompu, il a généré des erreurs :

unable to load certificate
140513785948000:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:asn1_lib.c:142:
140513785948000:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306:
140513785948000:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=X509
140513785948000:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:

Je suppose que j'aurais dû remarquer que les lignes dans le bloc lorsque je regardais le certificat corrompu n'étaient pas toutes de la même longueur.

3voto

bx2 Points 2586

Pour :

SSLCertificateFile mon.crt
SSLCertificateKeyFile ma.key

Vous devez utiliser le chemin complet de ces fichiers, c'est-à-dire :

SSLCertificateFile /home/vhosts/domain.com/keys/mon.crt
SSLCertificateKeyFile /home/vhosts/domain.com/keys/mon.crt

Met à jour les chemins corrects et redémarre Apache pour appliquer les changements. Poste de nouveau avec une erreur/message mis à jour si le problème persiste.

- Brendan

0voto

le_top Points 103

Juste pour l'enregistrement : J'ai eu le même type de rapport d'erreur et le problème n'était pas vraiment dans le certificat, mais dans la configuration.

Par erreur, j'ai défini la clé comme le certificat et le certificat comme la clé. Le résultat était le même message d'erreur.

L'erreur est survenue du fait que ma configuration de référence présentait ces éléments dans l'ordre inverse.

Même l'exemple de @Brendan comporte cette erreur car il fait référence deux fois au certificat - à la fois pour le certificat et pour la clé.

Alors assurez-vous de vérifier que vous faites référence aux bons fichiers dans le bon paramètre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X