Comment convertir un fichier CER en PFX
Configurer un site Web implique de demander aux visiteurs de faire confiance au fait que vous avez pris des mesures pour sécuriser la confidentialité de leurs données et de leurs interactions. Cela nécessite l'utilisation de SSL (Secure Socket Layer), qui chiffre les informations échangées entre votre site et le navigateur, ce qui à son tour requiert un certificat numérique. Ces certificats existent sous plusieurs formats de fichiers, avec des extensions telles que .CER et .PFX.
À quoi servent les certificats ?
Un certificat numérique est l'équivalent pour un site Web de la présentation d'une pièce d'identité sécurisée, comme un passeport. Le navigateur de votre visiteur (Chrome, Firefox, Safari, etc.) contient une liste d'entreprises de confiance appelées autorités de certification. Il en existe plusieurs, dont DigiCert, Entrust, GlobalSign et GoDaddy. Leur rôle est de valider qu'un nom de domaine correspond à un site légitime, et dans certains cas, de valider également la propriété du site.
Si le navigateur qui se connecte à votre site trouve un certificat valide et à jour provenant d'une autorité de confiance, il se connecte sans problème et échange des clés de chiffrement avec votre serveur, permettant au visiteur de naviguer. Sinon, il affichera un avertissement indiquant que le site n'est pas sécurisé et pourrait tenter de voler leurs données.
Formats et extensions de certificats
Les certificats numériques existent dans un petit nombre de formats, dont deux sont plus importants que les autres. Le plus utilisé est le format PEM, qui stocke les données de votre site dans un fichier ASCII. La clé privée de sécurité de votre nom de domaine est généralement conservée dans un fichier séparé pour des raisons de sécurité. Ce type de certificat est utilisé dans les environnements Linux et sur les serveurs Apache, qui représentent une grande partie d'Internet.
Les certificats PEM peuvent avoir différentes extensions de nom de fichier, notamment .PEM, .CRT et .CER. On trouve aussi l'extension .KEY pour le fichier séparé de la clé de sécurité.
L'autre format majeur est PKCS#12. Ce certificat est sous forme binaire, vous ne pouvez donc pas le lire dans un éditeur de texte comme avec le format PEM. Il est utilisé sur les systèmes et serveurs basés sur Windows, moins courants que leurs équivalents Linux mais toujours avec une part de marché significative. Leurs extensions de nom de fichier sont .PFX et .P12.
Conversion entre formats de certificats
Les formats de certificats peuvent poser problème lorsque votre certificat a été émis dans un format, mais que votre service d'hébergement en exige un autre. Par exemple, vous pourriez choisir d'héberger votre site sur Microsoft Azure, qui attend un certificat PKCS#12 avec l'extension .PFX, alors que vous avez un certificat PEM avec l'extension .CER courante.
La méthode habituelle pour convertir entre formats utilise un outil open-source appelé OpenSSL, qui peut convertir dans les deux sens entre certificats ASCII et binaires et appliquer un nom de fichier et une extension appropriés. Les utilisateurs Linux peuvent installer OpenSSL depuis les dépôts de leur distribution, et les utilisateurs Windows peuvent trouver plusieurs programmes basés sur OpenSSL à télécharger. OpenSSL pour Windows nécessite le runtime redistribuable Visual C++ 2008, qu'il faut donc également installer.
Convertir CER en PFX avec OpenSSL
OpenSSL s'exécute en ligne de commande, vous devez donc ouvrir une fenêtre de terminal. Sous Linux, utilisez le raccourci clavier Ctrl+Alt+F1 ou Ctrl+Alt+T. Les utilisateurs de Windows 10 doivent ouvrir la boîte Exécuter dans leur menu, taper CMD, puis appuyer sur Ctrl+Maj+Entrée pour exécuter l'invite de commande en tant qu'administrateur.
Une fois l'invite de commande ouverte, tapez la commande pour transformer votre fichier .CER et son fichier .KEY associé en PFX. La syntaxe est la suivante :
openssl pkcs12 -export -in yourcertificate.cer -inkey yourkey.key -out yourcertificate.pfx
Remplacez « yourcertificate » et « yourkey » par les noms de fichiers réels de votre certificat et de votre clé. Lorsque vous exécutez la commande, OpenSSL crée le fichier PFX. Vous pouvez aussi faire l'opération inverse, de .PFX vers .CER, en inversant les noms de fichiers. La même technique fonctionne pour changer l'extension d'un certificat : vous pouvez convertir .PEM en .CRT ou .CRT en .CER selon vos besoins.
Utiliser d'autres utilitaires
Si vous n'êtes pas à l'aise avec la ligne de commande, il existe d'autres outils qu'OpenSSL pour convertir votre certificat. Une simple recherche en ligne pour « outil de conversion de certificat SSL » en trouve plusieurs, proposés par divers fournisseurs. L'autorité de certification DigiCert, par exemple, en propose un pour les utilisateurs Windows.
