Tous les articles SSL SSL et certificats

Formats de certificats SSL : PEM, PFX, DER expliques

Les certificats SSL et les cles privees peuvent etre stockes dans plusieurs formats de fichier. Le contenu est le meme — c’est l’encodage et l’empaquetage qui different. La plupart des confusions viennent du besoin d’un format specifique pour votre serveur.

Comparaison des formats

FormatExtensionEncodageContientUtilise par
PEM.pem, .crt, .cer, .keyBase64 (texte)Cert, cle ou chaine (un par fichier)Nginx, Apache, la plupart des serveurs Linux
DER.der, .cerBinaireCert ou cle uniqueJava, certaines applications Windows
PFX/PKCS#12.pfx, .p12BinaireCert + cle + chaine dans un fichierWindows IIS, Azure, Trousseau macOS

PEM — le format le plus courant

PEM (Privacy Enhanced Mail) est du texte encode en base64. Vous pouvez l’ouvrir dans un editeur de texte :

-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwIBAgISA8ht...
(donnees encodees en base64)
-----END CERTIFICATE-----

Les fichiers PEM peuvent contenir des certificats, des cles privees ou des chaines de certificats. L’en-tete indique le contenu :

  • BEGIN CERTIFICATE — un certificat
  • BEGIN PRIVATE KEY — une cle privee (ou BEGIN RSA PRIVATE KEY / BEGIN EC PRIVATE KEY)
  • BEGIN CERTIFICATE REQUEST — un CSR

GetHTTPS produit le format PEMprivkey.pem, cert.pem, chain.pem, fullchain.pem.

DER — encodage binaire

DER est la forme binaire des memes donnees que PEM encode en texte. Il n’est pas lisible par l’homme. Utilise principalement par les applications Java (keytool) et certains composants Windows.

PFX/PKCS#12 — format groupe

PFX (Personal Information Exchange) regroupe le certificat, la cle privee et la chaine dans un seul fichier protege par mot de passe. Windows IIS, Azure App Service et le Trousseau macOS necessitent ce format.

Convertir entre les formats

Toutes les conversions utilisent OpenSSL :

PEM → PFX

openssl pkcs12 -export \
  -out certificate.pfx \
  -inkey privkey.pem \
  -in cert.pem \
  -certfile chain.pem

Vous serez invite a definir un mot de passe d’export.

PFX → PEM

# Extraire le certificat
openssl pkcs12 -in certificate.pfx -clcerts -nokeys -out cert.pem

# Extraire la cle privee
openssl pkcs12 -in certificate.pfx -nocerts -nodes -out privkey.pem

# Extraire la chaine
openssl pkcs12 -in certificate.pfx -cacerts -nokeys -out chain.pem

PEM → DER

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

DER → PEM

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

Quel format ai-je besoin ?

Serveur/PlateformeFormatFichiers necessaires
NginxPEMfullchain.pem + privkey.pem
ApachePEMcert.pem + chain.pem + privkey.pem
IIS (Windows)PFXcertificate.pfx (convertir depuis PEM)
Azure App ServicePFXcertificate.pfx
AWS (ACM)PEMcert.pem + chain.pem + privkey.pem (coller dans la console)
Java (Tomcat)JKS ou PFXConvertir PEM → PFX → JKS avec keytool
Node.jsPEMLire les fichiers directement dans le code

Comment identifier le format d’un fichier

Vous n’etes pas sur du format d’un fichier ? Verifiez :

# S'il commence par "-----BEGIN" -- c'est du PEM (texte base64)
head -1 mystery-file.pem

# S'il est binaire (texte illisible) -- c'est du DER ou PFX
file mystery-file.cer
# Sortie comme "data" ou "certificate" = DER
# Sortie comme "PKCS12" = PFX

# Inspecter un certificat PEM
openssl x509 -in cert.pem -noout -text

# Inspecter un certificat DER
openssl x509 -in cert.der -inform DER -noout -text

# Inspecter un fichier PFX
openssl pkcs12 -in cert.pfx -info -nokeys

Confusion courante des extensions de fichier

ExtensionSignifie generalementMais pourrait etre
.pemPEM (base64)Toujours PEM
.crtCertificat PEMDER sous Windows
.cerCertificat PEMDER sous Windows
.keyCle privee PEMDER (rare)
.pfxBundle PKCS#12Toujours PFX
.p12Bundle PKCS#12Toujours PFX (identique a .pfx)
.derDER (binaire)Toujours DER
.jksJava KeyStoreToujours JKS

Regle generale : Ouvrez le fichier dans un editeur de texte. Si vous voyez -----BEGIN CERTIFICATE-----, c’est du PEM quelle que soit l’extension. Si vous voyez du contenu binaire illisible, c’est du DER ou PFX.

Questions frequemment posees

Quelle est la difference entre .crt, .cer et .pem ?

Ils peuvent tous etre au format PEM. L’extension est une convention de nommage, pas un indicateur de format. .crt et .cer sont couramment utilises pour les fichiers de certificat, .pem pour tout fichier encode en PEM. Sous Windows, les fichiers .cer sont parfois encodes en DER — ouvrez dans un editeur de texte pour verifier.

Pourquoi GetHTTPS me donne-t-il 4 fichiers ?

Compatibilite maximale. GetHTTPS fournit : privkey.pem (cle privee), cert.pem (votre certificat uniquement), chain.pem (certificat CA intermediaire), fullchain.pem (cert + chaine combines). Nginx a besoin de fullchain.pem ; Apache a besoin de cert.pem + chain.pem separes ; IIS a besoin de PFX (convertir depuis PEM).

Comment creer un PFX pour Windows/IIS ?

Utilisez la commande OpenSSL PEM → PFX ci-dessus. Vous aurez besoin de privkey.pem, cert.pem et chain.pem de GetHTTPS. Le .pfx resultant peut etre importe dans IIS, Azure App Service ou le Trousseau macOS.

Puis-je convertir d’un format a un autre sans la cle privee ?

Vous pouvez convertir le certificat entre PEM et DER sans la cle privee. Mais creer un PFX necessite la cle privee (il regroupe certificat + cle ensemble). Si vous avez perdu votre cle privee, vous devez generer un nouveau certificat.

Quel format utilise Let’s Encrypt ?

Let’s Encrypt (via tout client ACME incluant GetHTTPS) produit le format PEM. Si vous avez besoin d’un format different pour votre serveur, convertissez avec les commandes OpenSSL ci-dessus.

Articles connexes

Déploiement 2026-05-08
Comment installer un certificat SSL sur Nginx
Guide étape par étape pour installer un certificat SSL sur Nginx. Couvre l'upload des fichiers, la configuration complète du bloc serveur, les bonnes pratiques TLS, HTTP/2, HSTS, la configuration des redirections, les tests et le dépannage de 6 erreurs courantes.
Déploiement 2026-05-08
Comment installer un certificat SSL sur Apache
Guide pas à pas pour installer un certificat SSL sur Apache avec mod_ssl. Couvre le téléchargement des fichiers, la configuration VirtualHost, les bonnes pratiques TLS, HSTS, la redirection HTTP et le dépannage de 5 erreurs courantes.
SSL et certificats 2026-05-07
Qu'est-ce qu'un CSR (Certificate Signing Request) ?
Un CSR est un message envoye a une Autorite de Certification pour demander un certificat SSL. Decouvrez ce que contient un CSR, comment il est genere et pourquoi GetHTTPS s'en charge automatiquement.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat