1️⃣ Qu'est-ce que le format PEM ?
PEM (Privacy-Enhanced Mail) est un format de texte utilisé pour stocker et transférer des clés et des certificats. Il encode en Base64 les données binaires DER et les enveloppe avec des en-têtes et des pieds de page comme-----BEGIN <ÉTIQUETTE>-----et-----FIN <ÉTIQUETTE>-----. Les étiquettes courantes incluentCLÉ PUBLIQUE, CLÉ PRIVÉE, etCERTIFICAT. Il est facile de copier, coller et transmettre dans des flux de travail basés sur du texte, ce qui en fait l'un des formats d'échange de clés les plus courants.
2️⃣ Quels autres formats sont courants en dehors du PEM ?
- DER: un format binaire pur qui stocke directement les structures ASN.1. Il n’est pas lisible par l’homme et est courant dans les écosystèmes Java.
- HEX: exprime le contenu binaire DER sous forme de chaîne hexadécimale, utile pour le débogage ou l'intégration dans le code.
- Base64 (sans en-têtes): DER brut codé en Base64 sans en-têtes PEM, souvent utilisé dans des configurations compactes ou des charges utiles de jetons.
- PKCS#12 (PFX): un format de conteneur binaire qui peut regrouper des clés publiques et privées, généralement protégées par un mot de passe et souvent utilisées par les navigateurs ou les systèmes Windows.
3️⃣ Quand devez-vous utiliser chaque format ?
- PEM: l'option la plus universelle, adaptée à OpenSSL, aux serveurs web (Nginx/Apache) et aux échanges d'API.
- DER: couramment utilisé dans les environnements Java ou lorsqu'un stockage binaire strict est requis.
- HEX: utile pour le débogage, les systèmes embarqués ou chaque fois qu'une inspection exacte des octets est nécessaire. Le chiffrement
- Base64 (sans en-têtes): utile lorsque le formatage est contraint ou qu'une représentation compacte est requise.
- PKCS#12: utile lorsque les clés publiques et privées doivent être transportées ensemble tout en protégeant la clé privée par un mot de passe.