Juste une précision, la directive SSLCertificateChainFile est obsolète à partir d’Apache httpd 2.4.8. La chaîne de certificat(s) intermédiaire(s) doit désormais être concaténée à la suite du certificat du serveur dans le fichier indiqué par la directive SSLCertificateFile.
À part ça, on peut (doit ?) considérer aussi l’utilisation de HPKP (épinglage des clefs publiques dans les en-têtes HTTP, RFC 7469). Il suffit d’une ligne supplémentaire (ici, toujour pour Apache httpd) :
Header always set Public-Key-Pins "max-age=5184000; includeSubDomains; pin-sha256=\"condensat_de_la_clef_active\"; pin-sha256=\"condensat_de_la_clef_de_secours\" env=HTTPS
Le condensat d’une clef peut s’obtenir ainsi :
$ openssl x509 -in libwalk.crt -noout -pubout |\ # Extraction de la clef publique depuis le certificat
openssl rsa -pubin -outform DER |\ # Conversion en DER
openssl dgst -sha256 -binary |\ # Condensation
openssl enc -base64 # Encodage en Base64
Attention, l’épinglage d’une clef de secours n’est pas optionnel : le RFC 7469 dit clairement qu’un navigateur doit ignorer tout en-tête HPKP qui ne mentionnerait pas de clef de secours.
# SSLCertificateChainFile obsolète à partir d’Apache 2.4.8 + HPKP
Posté par gouttegd . En réponse au journal Debug SSL/TLS avec OpenSSL - partie 1. Évalué à 9.
Juste une précision, la directive
SSLCertificateChainFileest obsolète à partir d’Apache httpd 2.4.8. La chaîne de certificat(s) intermédiaire(s) doit désormais être concaténée à la suite du certificat du serveur dans le fichier indiqué par la directiveSSLCertificateFile.À part ça, on peut (doit ?) considérer aussi l’utilisation de HPKP (épinglage des clefs publiques dans les en-têtes HTTP, RFC 7469). Il suffit d’une ligne supplémentaire (ici, toujour pour Apache httpd) :
Le condensat d’une clef peut s’obtenir ainsi :
Attention, l’épinglage d’une clef de secours n’est pas optionnel : le RFC 7469 dit clairement qu’un navigateur doit ignorer tout en-tête HPKP qui ne mentionnerait pas de clef de secours.