Utiliser un fichier PFX avec nginx/apache2
Dans le cadre de mon stage en entreprise, j’ai été amené à déployer des services web, des services accessibles depuis un navigateur comme Firefox ou Chrome. C’est donc tout naturellement que j’ai souhaité passer ces services en HTTPS pour assurer la sécurité des échanges et donner confiance aux utilisateurs.
J’ai donc demandé des certificats aux responsables dans mon entreprise et on m’a fourni un unique fichier au format PFX.
Selon sslmarket.fr :
Un fichier PFX (PKCS#12) est un fichier spécialement formaté qui inclut un certificat SSL, une clé privée et les certificats intermédiaires (qui garantissent la fiabilité du certificat). Vous pouvez le considérer comme une archive contenant tout ce dont vous avez besoin pour l’installation du certificat.
J’ai donc cherché comment convertir cet unique fichier créé par un serveur Windows de l’entreprise en un certificat et une clé utilisable par mon serveur web Nginx. Et j’ai trouvé ce tutoriel (en anglais) : https://xy2z.io/posts/2020-pfx-certificates-nginx-apache2/
Le voici traduit en français :
Configurer SSL en utilisant un fichier .PFX pour nginx/apache2
Intro
Un fichier pfx est une archive de certificat protégée par un mot de passe qui contient votre certificat et la clé privée.
Les extensions de certificat peuvent prêter à confusion car il en existe un grand nombre (.crt, .cert, .key, .pem, .csr, etc.). Personnellement, j’utilise les mêmes extensions (.crt et .key) que la documentation https de nginx.
- domain.tld.key : Le fichier de clé privée RSA décryptée pour le certificat. (ssl_certificate_key)
- domain.tld.crt : Le fichier de certificat pour le domaine (sans)
- bundle.crt : Le fichier de certificat pour l’émetteur.
- domain.tld.chained.crt : Le fichier concaténé qui se compose de domain.tld.crt et bundle.crt (ssl_certificate)
Récupérer le fichier .key
Extraire la clé chiffrée en utilisant :
Déchiffrer la clé chiffrée en utilisant :
Supprimer le fichier domain.tld.encrypted.key car nous n’en aurons pas besoin.
Obtenez le fichier .crt
Obtenez votre certificat de domaine en utilisant :
Obtenez votre certificat de CA en utilisant :
Concaténer les 2 fichiers .crt en un .crt chaîné :
Supprimez les fichiers bundle.crt et domain.tld.crt.