Nous avons un certificat SSL pour notre site Web à partir de solutions de réseau. Après la mise à niveau 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 bien le cas:
SSLCERTICATECHAINEFILE est obsolète
SSLCertificateChainfile est devenue obsolète avec la version 2.4.8, lorsque SSLCertificateFile a été étendue afin de charger également des certificats d'autorité de certification intermédiaire à partir du fichier de certificats de serveur.
Regardant la documentation pour SSLCertificateFile , il semblait que j'avais juste besoin de remplacer mon appel à SSLCertificateChainfile avec SSLCertificatefile .
Ce changement a tourné 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 message d'erreur.
Je ne sais pas quoi d'autre que d'essayer ici, car je ne suis pas aussi familier avec mod_ssl ou certificats SSL en général. Je me souviens que nous devions ajouter le fichier apache_plesk_install.txt Fichier d'Internet Explorer Pour ne pas avoir d'avertissement SSL sur notre site, mais autre que cela, je n'ai aucune idée.
Toute aide serait grandement appréciée. Merci.
J'ai eu le même problème. Je viens de remplacer ces lignes dans /etc/Apache2/site-enabled/default-ssl.conf
SSLCertificateFile /etc/ssl/certs/domain.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
#SSLCertificateChainFile /etc/Apache2/ssl.crt/chain.crt
Comme vous le voyez, je viens de commenter le SSLCertificateChainFile
. Ensuite, voyant la même erreur que vous, j'ai concatéré le contenu de mon chain.crt
à la fin du domain.crt
, ainsi:
root@Host~: cat /etc/Apache2/ssl.crt/chain.crt >> /etc/ssl/certs/domain.crt
Et ça a fonctionné comme un charme.
J'utilise le script suivant pour créer un ensemble de certificats contenant le certificat chaîné.
#!/bin/sh
#
# Convert PEM Certificate to ca-bundle.crt format
#
test ! $1 && printf "Usage: `basename $0` certificate" && exit 1
# Friendly Name and Underline Friendly Name with equal signs
openssl x509 -in $1 -text -noout | sed -e 's/^ *Subject:.*CN=\([^,]*\).*/\1/p;t c' -e 'd;:c' -e 's/./=/g'
# Output Fingerprint and swap = for :
openssl x509 -in $1 -noout -fingerprint | sed -e 's/=/: /'
# Output PEM Data:
echo 'PEM Data:'
# Output Certificate
openssl x509 -in $1
# Output Certificate text swapping Certificate with Certificate Ingredients
openssl x509 -in $1 -text -noout | sed -e 's/^Certificate:/Certificate Ingredients:/'
Pour l'utiliser, en commençant par le certificat de serveur et de manière séquentielle via tous les certificats intermédiaires de la chaîne de certificats vers le certificat racine.
./bundle.sh myserver.crt >myserver.chain
./bundle.sh intermediate.crt >>myserver.chain
./bundle.sh root.crt >>myserver.chain
lorsque les noms de certificat appropriés sont remplacés par votre nom de certificat réel.
Demandez au certificat de site, les intermédiaires également dans un fichier spécifié par la directive SSLCertificatefile et la clé privée concaténée 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 qui est découragé. Veuillez vérifier la documentation pour plus de détails:
[.____] http://httpd.apache.org/docs/current/mod/mod_ssl.html#ssslcertificatefile
[.
[.____] également, s'il n'y a rien dans les journaux d'erreur Apache, on pourrait mettre le journal des erreurs à une granularité plus fin comme dans http://httpd.apache.org/docs/current/mod/core .html # logLevel