J'utilise apache sur Ubuntu 14.04 et j'essaie d'implémenter SSL. Toute aide serait grandement appréciée.
default-ssl.conf a:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Lorsque je redémarre apache, le message d'erreur dans /var/log/apache2/error.log est:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443447 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443458 2015] [ssl:error] [pid 30927] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 01 19:31:06.443468 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443479 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443487 2015] [ssl:emerg] [pid 30927] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more inf$
apache-2.2
ubuntu
ssl
mikesynan
la source
la source
Réponses:
AVERTISSEMENT: ne publiez jamais votre clé privée sur Internet. Ne le copiez même pas sur un autre ordinateur, poste de travail, etc. Il doit rester aussi privé que possible.
SSLCertificateKeyFile nécessite une clé privée. Cette clé est généralement générée avant CSR ou en même temps. Recherchez un fichier commençant par une ligne contenant:
BEGIN PRIVATE KEY
La CSR (demande de signature de certificat) n'est requise que lorsque vous demandez à signer le certificat. Après cela, vous pouvez le jeter.
Si vous avez perdu la clé privée, vous devrez générer une nouvelle clé privée, puis générer une nouvelle CSR et demander à l'AC (autorité de certification) de signer à nouveau la CSR.
la source
Voici le problème:
Vous avez placé votre fichier de demande de signature de certificat (CSR) ici par erreur. Vous devez y mettre à la place le fichier de clé privée que vous avez utilisé pour générer la CSR. Ce fichier de clé privée ne doit pas être protégé par mot de passe, sinon vous devrez taper un mot de passe chaque fois que vous (re) démarrez Apache.
Pour le bénéfice des générations à venir, voici un bref résumé de la façon de générer des CSR avec OpenSSL (un bon tutoriel est disponible dans la documentation Ubuntu ):
1) Générez la clé du serveur:
Cela vous oblige à spécifier un mot de passe.
2) Pour créer une clé privée sans mot de passe, entrez le mot de passe que vous avez utilisé ci-dessus lorsque vous y êtes invité:
3) Générez le CSR avec votre clé privée sans mot de passe:
où "mydomain.org" pourrait être votre domaine. Vous devez répondre à quelques questions de manière interactive. Une fois que vous avez terminé, vous envoyez le
mydomain.org.csr
fichier à votre autorité de certification. Vous récupérerez soit un*.crt
fichier, soit un*.pem
fichier. Supposons qu'ils vous aient donnémydomain.org.crt
. Installez-le en tant que votre certificat et le fichier de clé sans mot de passe en tant que votre clé (les emplacements sont valides pour Ubuntu 14.04, ils peuvent être ailleurs sur d'autres systèmes, consultez les documents Apache2):Et enfin éditez la configuration Apache2 (pourrait être
default-ssl.conf
):J'espère que cela t'aides.
la source
Je sais que quelqu'un a déjà répondu à cette question, mais je voulais faire savoir aux autres ce qui m'est arrivé lorsque j'ai eu cette erreur.
Dans ma cause, j'ai eu par erreur SSLCertificateFile au lieu de SSLCertificateChainFile pour mon bundle de certificats. Cette erreur a continué à apparaître et me jetait pour une boucle. Je n'arrêtais pas de penser que ma clé privée était fausse.
la source
Je sais que ce message est ancien, mais je me suis dit que je devrais y ajouter plus car c'est le premier lien sur une recherche Google sur l'erreur - "Init: clé privée introuvable"
J'ai déjà vu cela se produire auparavant et il s'est avéré que c'était une mauvaise clé privée. J'ai utilisé strace pour retrouver la dernière clé privée qu'apache a essayé de charger. Une fois que je l'ai supprimé du répertoire ssl et du httpd.conf, Apache a redémarré sans problème.
Mauvaise clé SSL: -rw-r ----- 1 racine 754974732 1.7K 31 mai 1987 /var/cpanel/ssl/installed/keys/c129e_4ed23_b7c0d7f821952179fc8006506ab06b72.key
Environnement: OS: CentSO 6.9 Control Panel: cPanel 11.64 Apache Version 2.2
tl;dr: Find the bad private key that Apache is trying to load and backup it up and remove it from Apache's configuration file.
J'espère que ça aide!
la source
code
. Merci d'avoir contribué.Je faisais tourner mes roues sur celui-ci pendant un moment, mais assurez-vous d'avoir un fichier de clé privée complet. Il s'est avéré qu'il me manquait quelques lignes.
La commande pour vérifier votre clé privée est:
remplacez /etc/httpd/certs/server.key par le chemin complet de la clé privée de votre serveur et si tout va bien, vous verrez:
J'espère que cela aide quelqu'un et btw, mon serveur était CentOS 7.6 avec Apache / 2.4.6
la source