1 votes

Apache:mod_ssl:Erreur : Clé privée introuvable

J'installe un certificat SSL pour servir HTTPS. J'utilise Apache 2.4 en Amazon Linux et a obtenu le certificat en Démarrage . Ma configuration Vhost est la suivante :

<IfModule mod_ssl.c>
  <VirtualHost _default_:443>
    ServerAdmin webmaster@myweb.com
    ServerName myweb.com
    DocumentRoot /var/www/html/myapp
    <Directory /var/www/htmlmyapp>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
    </Directory>

    ErrorLog /var/log/httpd/error_log
    LogLevel warn

    CustomLog /var/log/httpd/ssl_access.log combined
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/mycert.crt
    SSLCertificateKeyFile /etc/ssl/private/mycert.key
    SSLCertificateFile /etc/ssl/certs/sub.class1.server.ca.pem
    BrowserMatch "MSIE [2-6]" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

  </VirtualHost>
</IfModule>

Lorsque je redémarre Apache, j'obtiens ce résultat :

Stopping httpd:                                            [  OK  ]
Starting httpd: Apache/2.4.12 mod_ssl (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Private key myweb.com:443:0 (/etc/ssl/private/mycert.key)
Enter pass phrase:

OK: Pass Phrase Dialog successful.
Apache:mod_ssl:Error: Private key not found.
**Stopped
                                                           [FAILED]

Ainsi, il me demande la phrase de passe d'une clé, la phrase de passe est correcte, puis il me dit qu'il ne la trouve pas. Qu'est-ce qui me manque ?

5voto

Jenny D Points 26978

Dans votre configuration, vous avez ces trois lignes :

SSLCertificateFile    /etc/ssl/certs/mycert.crt
SSLCertificateKeyFile /etc/ssl/private/mycert.key
SSLCertificateFile /etc/ssl/certs/sub.class1.server.ca.pem

Vous répétez SSLCertificateFile . Cela signifie qu'Apache utilisera la deuxième instance de la variable, c'est-à-dire /etc/ssl/certs/sub.class1.server.ca.pem - mais votre clé est celle de /etc/ssl/certs/mycert.crt Il ne correspond donc pas au certificat de l'autorité de certification. Apache n'est donc pas en mesure de trouver la clé du certificat.

Votre configuration devrait probablement ressembler à ceci :

# Server certificate
SSLCertificateFile    /etc/ssl/certs/mycert.crt
# Key to server certificate
SSLCertificateKeyFile /etc/ssl/private/mycert.key
# Glue certificate to CA
SSLCACertificateFile /etc/ssl/certs/sub.class1.server.ca.pem

Notez que le deuxième certificat commence par SSLCA au lieu de SSL .

0voto

mirec Points 324

Dans votre fichier de configuration, vous pointez sur le mauvais fichier PrivateKey SSLCertificateKeyFile /etc/ssl/private/mycert.key 代わりに SSLCertificateKeyFile /etc/ssl/private/myweb.key .

Hors sujet : êtes-vous sûr de vouloir conserver un mot de passe sur votre clé privée ? Cela signifie que si votre serveur redémarre, il aura à nouveau besoin du mot de passe. Mais cela signifie aussi que toute personne ayant accès au serveur peut compromettre votre clé privée.

Pour générer une nouvelle clé sans phrase de passe, utilisez : openssl rsa -in oldkey.pem -out newkey.pem

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