web-dev-qa-db-fra.com

L'installation d'un certificat SSL entraîne l'échec du serveur lors du redémarrage

J'ai reçu mon certificat par courrier électronique, puis créé les fichiers nécessaires et les ai copiés. Je suis allé redémarrer mon serveur et j'ai reçu les erreurs suivantes.

[Mer Fév 08 13:02:06 2012] [erreur] Init: Impossible de lire le certificat de serveur à partir du fichier /home/sslcertificates/mydomain.crt [Mer fév 08 13:02:06 2012] [erreur] Erreur de bibliothèque SSL: erreur 218529960: 0D0680A8: routines de codage asn1: ASN1_CHECK_TLEN: balise incorrecte [Mer Fév 08 13:02:06 2012] [erreur] Erreur de bibliothèque SSL: erreur 218595386: 0D07803A: routines de codage asn1: ASN1_ITEM_EX_D2I: erreur asn1 imbriquée

Quelqu'un a-t-il une idée?

22
ORStudios

Ce message d'erreur est une autre source d'échec possible: À la place du fichier de certificat lié au fichier de demande de certification. Il est reconnaissable lorsque vous lisez la première ligne du fichier: Soit

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

Ou 

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

:-)

20
Heinrich

Situation: Apache 2.4 utilisant le cert StartSSL générant une erreur de codage ASN

Problème:

AH02564: Failed to configure encrypted (?) private key <domain>.com:80:0, check /etc/pki/tls/certs/ssl.key

Certains émetteurs SSL chiffrent les fichiers de clé SSL par défaut. Assurez-vous donc de le déchiffrer sur le serveur et de le pointer depuis l'hôte virtuel. 

Faites simplement écho au fichier de clé pour vous assurer qu'il n'est pas crypté. 

 enter image description here

Décrypter le fichier clé pour le mod_ssl

openssl rsa -in ssl.key -out ssl.key

Pour la configuration SSL dans la configuration Apache (httpd.conf), ajoutez les configurations suivantes et redémarrez Apache. 

 enter image description here

# SSL
<VirtualHost *:443>
    ServerName gajen.com
    SSLCertificateKeyFile /etc/pki/tls/certs/ssl.key
    SSLCertificateFile /etc/pki/tls/certs/ssl.crt
    SSLCertificateChainFile /etc/pki/tls/certs/root.ca.pem
</VirtualHost>

Pour le dépannage:

  • Déboguer le premier Apache tail 50 /var/log/httpd/error_log
  • Déboguer le mod_ssl tail 50 /var/log/httpd/ssl_error_log
12
Gajen Sunthara

Dans mon cas, les certificats étaient mélangés: SSLCertificateFile avait la clé privée et SSLCertificateKeyFile avait la cert.

8
cristi

En laissant ceci ici car c'est la première recherche Google de l'erreur: Cela peut aussi être causé par l'installation d'un nouveau certificat protégé par phrase secrète et le simple rechargement de la configuration d'Apache (plutôt que de le redémarrer complètement) Le rechargement en lui-même ne générera aucune erreur, mais il ne demandera pas non plus votre phrase secrète et ne pourra pas déchiffrer le certificat. 

Pour résoudre ce problème, redémarrez complètement Apache, ce qui vous demandera le mot de passe et vous permettra de le déchiffrer.

5
James Alexander

Problème résolu avec le fichier * .key recréé et le contenu copié-collé à nouveau. 

0
Haruna

Ou vous avez besoin avant de désactiver l’ancien mot de passe automatique .

#SSLPassPhraseDialog exec:/etc/ssl/passphrase-script
0
Olexandr Sukhorukov

Récemment, lors de l'installation de SSL dans Apache 2.4, nous avons rencontré la même erreur: "routines de codage asn1".

Nous avions placé tous les fichiers correctement et les avons correctement pointés dans le fichier .conf. Après une journée de problèmes, nous avons réalisé que le problème ne venait pas de la configuration après l'obtention du certificat.

Nous avons créé la demande de signature de certificat (CSR) à l'aide du système intégré de nos fournisseurs. Cela nous a permis de coller la clé que nous avons créée. Le certificat SSL renvoyé par le fournisseur était supposé mapper cette CSR qui a été mappée sur notre clé privée. Apparemment, cela ne correspond pas. Le certificat SSL fourni ne correspond pas à la CSR.

Raison possible La transformation de la clé de la CSR est incorrecte du côté du fournisseur en raison des fins de ligne Unix (\ n au lieu de\r\n)/encodage (ANSI/UTF8)/nouvelles lignes attendues.

Nous avons créé nous-mêmes la RSE à l'aide d'OpenSSL et avons contourné la génération de la RSE par le fournisseur. Ça a marché. Ainsi, dans notre cas, créer la clé et la CSR correspondante à l'aide d'OpenSSL et l'utiliser pour générer le protocole SSL public fonctionnait.

Commande OpenSSL

openssl req -new -sha256 -key ~/site.com.ssl/site.com.key -out ~/site.com.ssl/site.com.csr
0
Rahul

J'ai eu ce problème parce qu'on m'a envoyé le contenu d'un fichier .p7b de style IIS collé dans un courrier électronique. Il a les balises "----- BEGIN CERTIFICATE -----" et "----- END CERTIFICATE -----", tout comme .pem, et le contenu utilise un codage base64 similaire. Je l'ai converti en un fichier * .pem comme ceci:

openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

Après cela, Apache 2.2 était heureux.

0
Derek