How-To : Générer un certificat PFX à partir d’un .CRT et d’une clé privée .KEY

Pour quoi faire :

Le certificat PFX ou fichier PKCS #12, est un format de fichier utilisé pour stocker un certificat numérique et une clé privée correspondante dans un conteneur sécurisé. Le terme "PFX" signifie "Personal Information Exchange" (Échange d'Informations Personnelles). Ce format est couramment utilisé dans les environnements Windows pour importer et exporter des certificats et des clés privées. 

Du coup, si l’on a un certificat dans un fichier « .CRT » et un fichier de clé privée « .KEY », on ne peut pas l’importer en l’état dans IIS. Par contre, sur un environnement Linux c’est royal, car on a besoin de ces deux fichiers en règle générale.

Le fichier PFX peut contenir plusieurs composants :

  1. Le certificat numérique : Il s'agit d'une autorité de certification signée ou auto-signée, qui contient des informations sur l'entité à laquelle le certificat est attribué, telles que le nom, l'organisation et la clé publique.
  2. La clé privée : C'est la clé associée au certificat qui permet de déchiffrer les données cryptées qui lui sont destinées. Il est crucial de protéger la clé privée, car elle permet également de signer numériquement des données et des messages.
  3. Parfois, des certificats de chaîne : Ces certificats supplémentaires sont nécessaires pour établir une chaîne de confiance complète jusqu'à une autorité de certification racine.

Les certificats PFX sont utilisés dans de nombreux scénarios, notamment pour sécuriser les communications sur Internet (via HTTPS), pour l'authentification des utilisateurs, et pour le chiffrement des données sensibles. Ils sont également utilisés dans le cadre de déploiements de serveurs Web, de services cloud et d'applications nécessitant des communications sécurisées.

Commente faire pour obtenir un fichier *.pfx ? 2 possibilités

Pour générer un fichier PFX, vous avez généralement besoin d'un certificat numérique ainsi que de sa clé privée correspondante. Voici les étapes générales pour générer un fichier PFX :

  1. Création d'une demande de certificat (CSR) : Tout d'abord, vous devez créer une demande de certificat (Certificate Signing Request) qui contient les détails du certificat que vous souhaitez obtenir, tels que le nom de domaine, l'organisation, etc. Cette demande de certificat est ensuite envoyée à une autorité de certification (CA) pour signature.
  2. Obtention du certificat signé : Une fois que vous avez envoyé votre CSR à une autorité de certification, vous recevrez un certificat signé par la CA.
  3. Génération du fichier PFX : Une fois que vous avez le certificat signé et la clé privée correspondante, vous pouvez les combiner pour créer un fichier PFX. Les étapes exactes peuvent varier selon l'outil ou la plateforme que vous utilisez, mais généralement, vous pouvez le faire à l'aide d'un utilitaire de gestion de certificats comme OpenSSL ou via des outils fournis par les fournisseurs de certificats. 

Sous Windows

À partir de l’utilitaire "Certutil" intégré à Windows, on peut générer un certificat PFX à partir d’un fichier au format CRT et d’une clé privée (private key). 

Sous Windows, il y a un utilitaire intégré au système nommé « certutil » qui permet de manipuler les certificats. Nous pouvons l’utiliser pour générer le certificat PFX sans installer un logiciel supplémentaire

On peux également installer OpenSSL sur sa machine Windows pour réaliser cette opération (comme on le ferait sous Linux), mais ce n’est pas indispensable.

Une commande toute simple à taper en invite de commande "cmd"

certutil -MergePFX certificat.crt certificat.pfx 

Sous Linux 

Sous n'importe quel serveur Linux avec Openssl il est possible de générer son fichier .PFX

openssl pkcs12 -export -out nom_du_certificat.pfx -inkey nom_du_fichier_certificat.key -in nom_du_fichier_certificat.crt