Nous avons un certificat SSL pour notre site Web de Network Solutions. Après la mise à niveau d'Apache / OpenSSL vers la version 2.4.9, je reçois maintenant l'avertissement suivant lors du démarrage de HTTPD:
AH02559: The SSLCertificateChainFile directive (/etc/httpd/conf.d/ssl.conf:105) is deprecated, SSLCertificateFile should be used instead
Selon le manuel Apache pour mod_ssl, c'est en effet le cas:
SSLCertificateChainFile est obsolète
SSLCertificateChainFile est devenu obsolète avec la version 2.4.8, lorsque SSLCertificateFile a été étendu pour charger également les certificats CA intermédiaires à partir du fichier de certificat du serveur.
En recherchant la documentation de SSLCertificateFile , il semblait que je devais juste remplacer mon appel à SSLCertificateChainFile par SSLCertificateFile .
Ce changement a transformé mon ssl.conf de ceci:
SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/Apache_Plesk_Install.txt
pour ça:
SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateFile /etc/ssl/Apache_Plesk_Install.txt
SSLCertificateKeyFile /etc/ssl/server.key
... mais cela ne fonctionne pas. Apache refuse simplement de démarrer sans aucun message d'erreur.
Je ne sais pas quoi d'autre essayer ici, car je ne suis pas très familier avec les certificats mod_ssl ou SSL en général. Je me souviens que nous devions ajouter le fichier Apache_Plesk_Install.txt pour Internet Explorer pour ne pas avoir d'avertissement SSL sur notre site, mais à part cela, je n'ai aucune idée.
Toute aide serait grandement appréciée. Merci.
la source
Réponses:
J'ai eu le même problème. Je viens de remplacer ces lignes
/etc/apache2/site-enabled/default-ssl.conf
Comme vous le voyez, je viens de commenter le
SSLCertificateChainFile
. Puis, voyant la même erreur que vous, j'ai concaténé le contenu de monchain.crt
à la fin dudomain.crt
, comme ceci:Et ça a fonctionné comme un charme.
la source
J'utilise le script suivant pour créer un ensemble de certificats qui contient le certificat chaîné.
Pour l'utiliser, en commençant par le certificat du serveur et de manière séquentielle à travers tous les certificats intermédiaires de la chaîne de certificats jusqu'au certificat racine.
où les noms de certificats appropriés sont remplacés par votre vrai nom de certificat.
la source
Ayez le certificat de site, les intermédiaires également dans un fichier spécifié par la directive SSLCertificateFile et la clé privée concaténés dans un fichier spécifié par SSLCertificateKeyFile et vous devriez être tous définis. Bien que vous puissiez avoir la clé privée dans le même fichier que les certificats, mais cela est déconseillé. Veuillez consulter la documentation pour plus de détails:
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile
Je recommanderais que le certificat d'autorité de certification racine ne fasse pas partie du SSLCertificateFile car le client doit avoir le certificat d'autorité de certification racine comme approuvé pour que la validation du certificat fonctionne comme prévu.
De plus, s'il n'y a rien dans les journaux d'erreurs d'apache, alors on pourrait mettre le journal d'erreurs à une granularité plus fine comme danshttp://httpd.apache.org/docs/current/mod/core.html#loglevel
la source