Générer des certificats .crt et .key à partir d’un .pfx

Si vous avez créé un certificat auto généré ou que le fournisseur de certificat a donné un fichier PFX, par exemple pour un serveur Windows IIS ou un load balancer F5, mais vous avez besoin de ce même certificat pour un autre rôle.

On peut aussi avoir besoin de disposer des fichiers séparés de certificat, de clé privée et du certificat intermédiaire.

Ce tutoriel explique comment générer des fichiers de certificat .crt et .key à partir d’un certificat .pfx (PKCS12). Cette procédure est à réaliser sur un poste ou un serveur Linux et utilise OpenSSL.

Convertir un certificat PFX en CRT et KEY

1. Ouvrir un Terminal ou un SSH sur un système Linux.

2. Installer le paquet OpenSSL :

sudo apt update
sudo apt install openssl

3. Se placer dans le dossier où se trouvent les certificats :

cd /home/windowsfacile/certificats

4. Extraire les données du ca-certs :

openssl pkcs12 -in ${filename}.pfx -nodes -nokeys -cacerts -out ${filename}-ca.crt 

5. Extraire le fichier key :

openssl pkcs12 -in ${filename}.pfx -nocerts -out ${filename}.key 

6. Extraire le fichier crt :

openssl pkcs12 -in ${filename}.pfx -clcerts -nokeys -out ${filename}.crt 

7. Combiner les deux fichiers dans un « .crt » complet :

cat ${filename}.crt ${filename}-ca.crt > ${filename}-full.crt 

8. Supprimer le mot de passe (passphrase) de la clé privée :

openssl rsa -in ${filename}.key -out ${filename}.key

9. Pour votre usage, il faudra peut-être supprimer les « Bag Attributes » des fichiers .crt et .key.

10. On peut renommer le .crt en .csr si besoin, le contenu est identique.

Quitter la version mobile