OpenSSL – Formats & Cheat-Sheet

Bonjour à tous ! Aujourd’hui nous allons voir ensemble les principales commandes OpenSSL sur la manipulation des certificats X509, que ça soit générer, convertir, signer, etc.

Les principaux formats

Tout d’abord nous allons aborder les formats les plus utilisés dans le monde des certificats, c’est à dire :

PEM Format

Le format le plus commun, il est utilisé dans la plupart des cas. Les certificats PEM sont en B64 et les extensions sont généralements .crt, .cer, .pem, .key

Ce format la est lisible avec un éditeur et comporte les indications « —– BEGIN XXX —– » & « —– END XXX —– » et est valable pour les certificats et les clés privées.

DER Format

Le format DER est le format binaire des certificats. Tous les types de certificats et clés privées peuvent être convertis en DER. Les fichiers ne contiennent donc pas les indications « BEGIN » & « END » et les fichiers sont difficilement lisibles avec un éditeur comme vi par exemple. Ils sont principalement utilisés sur des plateformes Java.

Les extensions pour les fichiers sont généralement .cer .der & .key

P7B / PKCS7

Le format P7B est également un format basé sur le B64 et possède généralement les extensions .p7b & .p7c

Ce format n’est possible que pour les parties publiques des certificats et les autorités. Il n’est donc pas possible de mettre une clé privée au format p7b. Ce format est utilisé principalement sur des solutions Microsoft et Java.

P12 / PFX

Le format p12/pfx quant à lui permet de stocker tous les éléments en même temps, c’est à dire les autorités, le certificat et la clé privée dans un fichier au format binaire chiffré.

Il est utilisé sur les environnements Microsoft et Java et utilise les extensions : .p12 & .pfx

Java Key Store

Les Java Key Store ou JKS fonctionne presque comme les fichiers p12 à la différence que dans ce dernier vous ne pouvez pas inclure les autorités ou CA. Il y a donc deux fichiers distants, le JKS contenant la clé privée et le certificat et le fichier cacert (truststore) contenant les différentes autorités.

Pour en savoir plus vous pouvez vous rendre ici et ici.

L’extension utilisée pour le JKS est .jks et ce type de certificat ce manipule avec l’outil Keytool contrairement aux autres. Cependant, attention il n’est pas possible à ma connaissance d’extraire de clé privée d’un JKS, si vous en avez besoin pensez à stocker vos clés privées en lieu sûr.

Les commandes principales

Générales

Pour la partie P7B personnellement j’utilise l’outil en ligne disponible ici, ce n’est pas gênant car le P7B ne contient que des fichiers publiques.

Certificats ECC (Elliptic Curve)

Voir également l’article sur ce sujet.

KeyTool (Java Key Store)

J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !

Merci pour votre lecture et à bientôt !

MRigonnaux

2 Replies to “OpenSSL – Formats & Cheat-Sheet”

  1. Petite boulette..
    ### Clé et certificat PEM en un seul fichier
    cat votre_cert.crt votre_key.key > nom_du_pem.pem
    Ahrg !! Le > a transformer en >

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.