ssl tls certificates pki ssh pgp security file-extensions

Guide complet des extensions de fichiers de certificats et de clés : PEM, CRT, DER, PFX, etc.

Confus par les extensions de fichiers SSL/TLS, SSH et PGP ? Découvrez les différences entre les fichiers .pem, .crt, .cer, .der, .key, .p12, .pfx, .p7b et .asc, et comment les ouvrir ou les convertir.

2026-04-11

Guide complet des extensions de fichiers de certificats et de clés : PEM, CRT, DER, PFX, etc.

Si vous avez déjà configuré un serveur Web (comme Nginx ou Apache), géré des clés SSH ou travaillé avec des signatures numériques, vous avez probablement rencontré une panoplie déroutante d'extensions de fichiers : .pem, .crt, .cer, .der, .p12, .pfx, .key, .csr, et plus encore.

Sont-elles toutes identiques ? Pouvez-vous simplement les renommer ? Ce guide va démystifier ces extensions, expliquer ce qu'elles contiennent et vous montrer comment les utiliser efficacement.

Pourquoi y a-t-il autant d'extensions ?

La confusion provient de deux facteurs principaux :

  1. La norme (X.509) : Il s'agit de la norme internationale pour les certificats à clé publique.
  2. L'encodage : La manière dont les données du certificat sont réellement stockées dans le fichier (ASCII Base64 vs Binaire).

Essentiellement, les différentes plateformes (Windows vs Linux), les différents serveurs (IIS vs Nginx) et les différents protocoles (SSL/TLS vs SSH vs PGP) ont historiquement privilégié différentes manières de stocker les mêmes informations cryptographiques sous-jacentes.


Tableau de référence rapide : Extensions courantes de certificats et de clés

Extension Format Description Utilisation courante
.pem ASCII (Base64) Privacy Enhanced Mail Serveurs Web (Nginx, Apache), certificats SSL/TLS, clés privées
.crt, .cer ASCII ou Binaire Certificat Certificats publics uniquement (pas de clés privées)
.der Binaire Distinguished Encoding Rules Plateformes Java, Windows (souvent utilisé pour des certificats de CA spécifiques)
.key ASCII ou Binaire Clé privée La clé privée correspondant à un certificat public
.csr ASCII (Base64) Certificate Signing Request Le fichier envoyé à une CA pour demander un certificat signé
.p12, .pfx Binaire Archive PKCS#12 Regroupement d'un certificat et de sa clé privée dans un seul fichier protégé par mot de passe
.p7b, .p7c ASCII (Base64) PKCS#7 / CMS Exportation de chaînes de certificats (pas de clés privées)
.asc, .sig, .gpg ASCII ou Binaire PGP / OpenPGP Signatures numériques, e-mails cryptés et vérification de logiciels

1. Encodages de certificats X.509 (Le "Big Three")

PEM (Privacy Enhanced Mail) — .pem, .crt, .cer, .key

C'est le format le plus courant que vous rencontrerez sur Linux et les serveurs Web. Il s'agit d'un format basé sur ASCII (texte) qui commence par un en-tête tel que -----BEGIN CERTIFICATE----- et se termine par -----END CERTIFICATE-----. Les données intermédiaires sont encodées en Base64.

  • Avantages : Lisible par l'homme, facile à copier/coller dans les fichiers de configuration.
  • Utilisation des extensions : Bien que .pem soit la norme, de nombreuses personnes utilisent .crt ou .cer pour les certificats publics et .key pour les clés privées, même si techniquement elles sont toutes au format PEM.

DER (Distinguished Encoding Rules) — .der, .cer

C'est la version binaire d'un fichier PEM. Si vous l'ouvrez dans un éditeur de texte, vous verrez des caractères illisibles.

  • Avantages : Plus compact que le PEM.
  • Où le trouver : Courant dans les environnements Java, les exportations de certificats Windows et certains modules de sécurité matériels (HSM).

PKCS#12 (Personal Information Exchange) — .p12, .pfx

Contrairement au PEM et au DER qui ne contiennent généralement qu'un seul certificat ou une seule clé, le PKCS#12 est un format d'archive. Il peut stocker un certificat, sa clé privée et toute la chaîne de l'autorité de certification dans un seul fichier protégé par mot de passe.

  • Où le trouver : Standard pour Windows (IIS), Java (KeyStore) et le Trousseau d'accès macOS.
  • Remarque : .pfx est l'ancienne extension Microsoft, tandis que .p12 est la nouvelle norme multiplateforme, mais elles sont fonctionnellement identiques.

2. Extensions de requête et de métadonnées

CSR (Certificate Signing Request) — .csr

Ce n'est pas un certificat en soi. C'est une demande que vous générez sur votre serveur (contenant votre clé publique et les informations de votre organisation) pour l'envoyer à une autorité de certification (comme Let's Encrypt, DigiCert). Elle la signera et vous renverra un fichier .crt ou .pem.

PKCS#7 / CMS — .p7b, .p7c

Ce format est principalement utilisé pour partager des "chaînes de certificats". Il peut contenir votre certificat plus les certificats des autorités de certification intermédiaires et racines. Il ne contient jamais de clé privée. Vous verrez souvent cela lors du téléchargement de certificats à partir d'une CA au format "Windows" ou "IIS".


3. Extensions PGP et GPG

Si vous vérifiez des téléchargements de logiciels (comme le noyau Linux ou une bibliothèque populaire), vous verrez :

  • .asc : Un fichier PGP avec armure ASCII (signature textuelle).
  • .sig, .gpg : Signatures ou clés PGP binaires.
  • .pub : Souvent utilisé pour désigner une clé publique PGP.

4. Comment ouvrir et vérifier ces fichiers

Sur Linux / macOS / Windows (avec OpenSSL)

OpenSSL est le couteau suisse pour ces fichiers. Voici quelques commandes courantes :

Pour afficher un fichier PEM (certificat public) :

openssl x509 -in certificate.crt -text -noout

Pour afficher un fichier DER (binaire) :

openssl x509 -in certificate.der -inform der -text -noout

Pour afficher un fichier PKCS#12 (.p12 / .pfx) :

openssl pkcs12 -info -in key-and-cert.p12

5. Conversion entre les formats

Les plateformes nécessitent souvent des formats spécifiques. Voici comment les convertir :

De PEM vers DER :

openssl x509 -in cert.pem -outform der -out cert.der

De DER vers PEM :

openssl x509 -in cert.der -inform der -outform pem -out cert.pem

De PEM vers PFX (.p12) : (Nécessite de combiner le certificat et la clé privée)

openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile CA-chain.crt

Questions fréquentes (FAQ)

Q : Puis-je simplement renommer un fichier .pem en .crt ?

R : Dans de nombreux cas, oui. La plupart des serveurs Web (comme Nginx) recherchent l'en-tête "BEGIN CERTIFICATE" à l'intérieur du fichier plutôt que l'extension. Cependant, si la plateforme attend un fichier binaire .der et que vous fournissez un fichier .pem renommé, cela échouera.

Q : Quelle est la différence entre .p12 et .pfx ?

R : Il n'y a aucune différence fonctionnelle. .pfx était l'extension propriétaire de Microsoft, tandis que .p12 est la norme de l'industrie (PKCS#12). Ils servent tous deux de conteneurs protégés par mot de passe pour les certificats et les clés privées.

Q : Pourquoi ne puis-je pas voir ma clé privée dans un fichier .p7b ?

R : Parce que la norme PKCS#7 (utilisée par .p7b) est conçue spécifiquement pour la distribution de certificats et ne prend pas en charge le stockage de clés privées. Si vous avez besoin de regrouper une clé privée, vous devez utiliser le PKCS#12 (.p12).

Q : Un fichier .key est-il toujours une clé privée ?

R : Généralement, mais pas toujours. Bien que .key soit l'extension conventionnelle pour les clés privées, certains fournisseurs l'utilisent pour les clés publiques ou même les fichiers de licence. Vérifiez toujours le contenu (par exemple, -----BEGIN PRIVATE KEY-----).


Outils connexes sur Tool3M

  • Générateur de Hash : Vérifiez l'intégrité de vos fichiers de certificats téléchargés à l'aide de SHA-256.
  • Guide des certificats SSL/TLS : En savoir plus sur les protocoles de sécurité sous-jacents.