23 juil. 2024
Conversion des certificats d’un format à un autre
Il y a différents formats de fichiers qui peuvent être utilisé pour garder les certificats et les clés privées avec leurs propres bénéfices. Les applications, souvent, utilisent différents formats qui amènent de temps en temps au besoin de convertir vos certificats d’un format à l’autre. Pour comprendre comment convertir un certificat d’un format à un autre, il est pratique de comprendre comment identifier les formats :
Privacy Enhanced Mail (PEM) – Il fait partie d’un des formats les plus commun que vous pouvez rencontrer, il est facilement identifiable car il commence et se termine toujours par « l'Armure PEM », c’est l’en-tête et le pied de page qui déclares ce qu’il se trouve entre eux. Par exemple :
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Or
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
Or
-----BEGIN PKCS7-----
-----END PKCS7-----
PKCS #7 B (P7B) – Ce format est la « Syntaxe Standard du Message Cryptographique ». Il contient généralement la chaîne complète du certificat incluant le root, l’intermédiaire et l’entité finale du certificat. C’est le format qui est généralement ajouté aux signatures digitales
PKCS #12/PFX/P12 – Ce format est « la Syntaxe Standard d’Echange d’Informations Personnelles ». Le .PFX contiendra la clé privée et la clé publique correspondante. Il peut également contenir les certificats root et intermédiaire. Les fichiers PFX/P12 sont protégés par un mot de passe. Ils peuvent être facilement lus et importés pour utilisation sur de nombreux navigateurs et serveurs incluant OS X Keychain, IIS, Apache Tomcat et plus.
Base64 – C’est l’encodage standard pour les fichiers .pem ou d’autres extensions comme .cer et .crt qui peuvent également utilisés l’encodage Base64.
DER – Règles d’encodage distinctes ; c’est un format binaire souvent utilisés dans les certificats X.509.
Si tout cela peut vous paraître un petit peu confus, heureusement OpenSSL peut vous aider à convertir les formats avec facilité. Les plateformes GNU/Linux sont généralement préinstallées avec OpenSSL. Mac OS X est également délivré avec Openss préinstallé. Pour Windows32, l’installeur OpenSSL Win 32 est disponible.
Souvenez-vous, il est important de garder votre clé privée en sécurité ; assurez-vous de limiter qui et quoi a accès à ces clés.
Convertir le certificat encodé PEM en DER
openssl x509 -outform der -in certificate.pem -out certificate.der
Convertir le certificat encodé DER en PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
Convertir le certificat encodé PEM en PKCS7(P7B)
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Convertir le certificat encodé PKCS #7 (P7B) en PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Certificats et clés
Convertir le certificat encodé PEM et la clé privée en PKCS #12 / PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Convertir le certificat encodé PKCS #7 (P7B) et la clé privée en PKCS #12 / PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer;
Convertir le certificat encodé et la clé privée PKCS #12 / PFX en PKCS #7 (P7B)
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
Vérifiez l’installation de votre certificat pour les problèmes et les vulnérabilités SSL.