• # SSLCertificateChainFile obsolète à partir d’Apache 2.4.8 + HPKP

    Posté par . En réponse au journal Debug SSL/TLS avec OpenSSL - partie 1. Évalué à 9.

    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.