Comment convertir du PEM en DER
- Collez le bloc PEM dans l’entrée, ou déposez un fichier
.pem,.crt,.keyou.csr. - Choisissez la sortie sous Convertir en :
- DER – Base64 sur une ligne : le corps du PEM sans les lignes d’en-tête ni les sauts de ligne, prêt pour un champ JSON ou une variable d’environnement.
- DER – hex : les mêmes octets en hex, pour des tableaux d’octets et des traces de protocole.
- PEM (64 colonnes) et Clé publique (PEM) servent au sens inverse et à l’extraction d’une clé publique.
- Cliquez sur Télécharger le .der pour enregistrer le fichier binaire, ou sur Copier la sortie pour la forme texte.
Le convertisseur détecte les certificats, les CSR, les CRL, les clés publiques et les clés privées (PKCS#1, PKCS#8, SEC1 EC) : il n’y a rien à choisir pour le type d’entrée.
Ce que fait la conversion
Le PEM est une enveloppe texte autour du DER. Prenons ce certificat (raccourci) :
-----BEGIN CERTIFICATE-----
MIIBtzCCAV2gAwIBAgIUfX6gOa1S96OttEsj3WbuIdu0cE0wCgYIKoZIzj0EAwIw
...
-----END CERTIFICATE-----
Supprimez les deux lignes de marqueurs, réunissez les lignes restantes, décodez le Base64, et vous obtenez le fichier DER : ici 443 octets commençant par 30 82 01 b7, l’en-tête de SEQUENCE ASN.1. Le libellé des lignes de marqueurs est la seule information qui disparaît. Les fichiers DER ne portent pas de libellé : les outils qui lisent du DER doivent donc soit être informés de la nature du fichier, soit la deviner d’après sa structure.
| Forme | Taille de ce certificat | Où on l’utilise |
|---|---|---|
| PEM | 656 octets | nginx, Apache, HAProxy, la plupart des outils Linux |
| DER en Base64 sur une ligne | 592 caractères | API JSON, tableaux x5c des JWK, variables d’environnement |
| DER (binaire) | 443 octets | outils Java et Windows, firmware, téléchargements application/pkix-cert |
Où le DER est nécessaire
- Systèmes embarqués et firmware : les certificats compilés en C sous forme de tableau d’octets sont presque toujours en DER. Utilisez la sortie hex et collez-la dans un tableau.
- Plateformes Apple :
SecCertificateCreateWithDataprend des données DER, pas du texte PEM. - Le paramètre
x5cd’un JWK et l’élément<ds:X509Certificate>des métadonnées SAML contiennent du DER en Base64 sans en-têtes PEM. - Les URL CA Issuers des certificats servent généralement un fichier
.ceren DER. - Windows : les fichiers
.cerpeuvent être sous l’une ou l’autre forme, mais certains anciens dialogues d’import et certains équipements n’acceptent que le DER.
PEM en DER avec OpenSSL, Python et certutil
openssl x509 -in cert.pem -outform der -out cert.der
openssl req -in app.csr -outform der -out app.der
openssl pkey -in key.pem -outform der -out key.der
grep -v -- '-----' cert.pem | tr -d '\n'
La dernière ligne affiche le DER en Base64 sur une ligne d’un fichier contenant un seul certificat. En Python, ssl.PEM_cert_to_DER_cert(open("cert.pem").read()) renvoie les octets DER d’un certificat. Sous Windows, certutil -decode cert.pem cert.der retire les marqueurs et décode. Plus de détails dans Base64 avec OpenSSL et Base64 en Python.
Problèmes courants
- Plusieurs blocs dans un fichier : les sorties texte convertissent chaque bloc, mais Télécharger le .der n’enregistre que le premier objet, car un fichier DER en contient exactement un. Découpez d’abord la chaîne ou téléchargez chaque certificat depuis sa fiche dans le décodeur de certificats.
-----BEGIN ENCRYPTED PRIVATE KEY-----: la conversion fonctionne, mais le DER reste chiffré. Le déchiffrement nécessite le mot de passe et ne se fait pas ici.- En-têtes
Proc-Type: 4,ENCRYPTED: l’ancien chiffrement d’OpenSSL n’a pas de forme DER. Lancez d’abordopenssl pkey -in key.pem -out plain.pemavec le mot de passe. -----BEGIN OPENSSH PRIVATE KEY-----: ce n’est pas du tout de l’ASN.1, il n’y a donc pas de DER à produire. Utilisez l’outil de clés SSH pour obtenir sa clé publique.
FAQ
Le PEM n'est-il que du DER en Base64 ?
Oui. Un fichier PEM contient les octets DER encodés en Base64, coupés à 64 caractères, entre une ligne -----BEGIN label----- et une ligne -----END label-----. Retirer ces lignes et décoder le Base64 redonne exactement le fichier DER.
Comment convertir une clé privée PEM en DER ?
Collez-la ici et choisissez DER – Base64 sur une ligne ou Télécharger le .der, ou lancez openssl pkey -in key.pem -outform der -out key.der. La clé ne quitte jamais la page, et ses valeurs secrètes ne sont pas affichées.
Pourquoi mon fichier DER est-il plus petit que le PEM ?
Base64 transforme tous les 3 octets en 4 caractères, et le PEM ajoute des sauts de ligne et deux lignes d’en-tête. Un certificat DER de 443 octets devient un fichier PEM de 656 octets, environ 48 % plus gros.