Tous les produits
Search
Centre de documentation

Certificate Management Service:What are the common SSL certificate formats?

Dernière mise à jour :Aug 10, 2026

Les certificats SSL se présentent sous plusieurs formats de fichiers qui déterminent leur mode de stockage et les serveurs qui les acceptent. Avant de manipuler des fichiers de certificat, gardez à l'esprit un fait essentiel : les extensions de fichier n'indiquent pas de manière fiable l'encodage. Un fichier .crt peut être encodé en PEM ou en DER. Inspectez toujours le contenu du fichier pour confirmer son format réel.

Cette rubrique présente les formats courants, explique comment choisir celui adapté à votre serveur, indique comment identifier un fichier inconnu et décrit les procédures de conversion entre les différents formats.

Formats de fichier de certificat

Extension Encodage description
.pem Texte (PEM) Extension la plus courante. Peut contenir un certificat, une clé privée, une chaîne de certificats ou une combinaison de ces éléments. Vérifiez les marqueurs BEGIN/END pour identifier le type de contenu.
.key Texte (PEM) ou binaire (DER) Stocke généralement une clé privée.
.crt, .cer Texte (PEM) ou binaire (DER) Contient généralement uniquement le certificat (clé publique et informations d'identité), sans la clé privée. Il peut s'agir d'un seul certificat de serveur ou d'une chaîne de certificats incluant des certificats intermédiaires.
.pfx, .p12 Binaire (PKCS#12) Regroupe le certificat de serveur, la clé privée et la chaîne de certificats dans un seul fichier protégé par mot de passe. L'extension .pfx est la convention Windows, tandis que .p12 est l'extension standard.
.jks Binaire (JKS) Format propriétaire Java Keystore (JKS). Stocke les entrées de clés (clé privée et chaîne de certificats) et les entrées de confiance (certificats d'autorité de certification). Depuis Java 9, le format PKCS#12 est recommandé.

Concepts clés

Les fichiers de certificat SSL reposent sur quatre concepts connexes : les composants du certificat, les méthodes d'encodage, les formats de conteneur et les extensions de fichier. Comprendre la distinction entre ces éléments facilite l'utilisation des différents outils et serveurs.

Composants du certificat

  • Certificat SSL : Informations d'identification contenant le nom de domaine, la clé publique, l'émetteur et la période de validité.

  • Clé privée : Associée à la clé publique du certificat. Utilisée pour l'authentification de l'identité et la communication chiffrée. Conservez la clé privée strictement confidentielle.

  • Chaîne de certificats : Chemin de confiance complet allant du certificat de serveur au certificat racine de l'autorité de certification, incluant un ou plusieurs certificats d'autorité de certification intermédiaires.

Méthodes d'encodage

L'encodage détermine la manière dont les données binaires sont sérialisées dans un fichier.

  • Privacy-Enhanced Mail (PEM) : Format texte utilisant l'encodage Base64, délimité par les marqueurs -----BEGIN...----- et -----END...-----. Un seul fichier PEM peut contenir un certificat, une clé privée ou les deux.

  • Distinguished Encoding Rules (DER) : Format binaire correspondant à l'encodage binaire direct des données ASN.1. Le format PEM est essentiellement constitué de données DER encodées en Base64 et entourées de marqueurs d'en-tête et de pied de page. Les fichiers DER sont plus compacts mais ne peuvent pas être lus dans un éditeur de texte.

Formats de conteneur

Les formats de conteneur regroupent plusieurs composants dans un seul fichier.

  • PFX/P12 (PKCS#12) : Magasin de certificats binaire qui regroupe le certificat de serveur, la clé privée et la chaîne de certificats intermédiaires dans un seul fichier protégé par mot de passe. Utilisez ce format pour le déploiement sur Windows IIS ou les serveurs d'applications Java, ou lors de la migration de certificats entre serveurs.

  • Java Keystore (JKS) : Magasin de certificats spécifique à Java. Migrez vers PKCS#12 pour une meilleure compatibilité ; il s'agit du format par défaut de Java depuis Java 9.

Les extensions de fichier ne sont qu'une convention de nommage. Par exemple, un fichier .crt peut être encodé en PEM ou en DER. Inspectez le contenu du fichier pour confirmer le format réel.

Choisir un format pour votre serveur

Serveur Format Fichiers requis notes
Nginx, Apache PEM Fichier de certificat (.pem ou .crt) et fichier de clé privée (.key) Configurez séparément les fichiers de certificat et de clé privée. Le fichier de certificat doit constituer une chaîne complète incluant le certificat de serveur et tous les certificats intermédiaires.
Tomcat, JBoss, WebLogic PKCS#12 Fichier de magasin de clés (.pfx ou .p12) Format standard pour les serveurs d'applications Java. Si vous utilisez encore JKS, migrez vers PKCS#12.
IIS PFX Fichier de magasin de clés (.pfx) Importez le fichier PFX protégé par mot de passe pour déployer le certificat et la clé privée ensemble.
IBM WebSphere KDB Fichier de magasin de clés (.kdb) Format propriétaire IBM. Gérez-le à l'aide de l'outil iKeyman.

Après avoir acheté et émis un certificat dans Certificate Management Service, téléchargez-le au format requis par votre serveur. Pour plus d'informations, consultez la rubrique Télécharger un certificat SSL.

Création d'une chaîne de certificats pour Nginx et Apache

Si l'autorité de certification (CA) fournit un fichier de certificat intermédiaire distinct, concaténez-le avec le certificat de serveur avant le déploiement. N'incluez pas le certificat racine de l'autorité de certification ; incluez uniquement le certificat de serveur et les certificats intermédiaires.

# Run on Linux or macOS
cat server.crt chain.crt > fullchain.crt

Identifier les formats de fichier de certificat

Avant le déploiement, confirmez le format du fichier pour éviter les échecs.

Identifier les fichiers PEM par le contenu

Ouvrez le fichier dans un éditeur de texte. Un fichier PEM contient un bloc ASCII avec les marqueurs BEGIN et END. Le marqueur identifie le contenu du fichier :

-----BEGIN CERTIFICATE-----
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
-----END CERTIFICATE-----

Marqueurs courants :

Marqueur Contenu
-----BEGIN CERTIFICATE----- Certificat
-----BEGIN PRIVATE KEY----- ou -----BEGIN RSA PRIVATE KEY----- Clé privée
-----BEGIN ENCRYPTED PRIVATE KEY----- Clé privée chiffrée
-----BEGIN EC PRIVATE KEY----- Clé privée Elliptic Curve (EC)

Identifier les formats à l'aide d'OpenSSL

Pour les fichiers binaires ou lorsque vous avez besoin d'informations détaillées, utilisez OpenSSL pour inspecter le fichier.

Certificat PEM

# Displays subject, issuer, validity period, and other details
openssl x509 -in certificate.crt -noout -text

Si la commande aboutit, le fichier est un certificat encodé en PEM.

Clé privée PEM

# Displays key type and length
openssl pkey -in private.key -noout -text

Magasin de certificats PFX/P12

# Lists all entries in the PKCS#12 file; prompts for the import password
openssl pkcs12 -in keystore.pfx -info -noout

Certificat DER

# The -inform der flag tells OpenSSL to read binary DER input
openssl x509 -in certificate.der -inform der -noout -text

Convertir les formats de certificat

Deux options sont disponibles pour la conversion de format.

Option 1 : Outil de conversion de Certificate Management Service (sans ligne de commande requise)

Certificate Management Service propose un outil de conversion intégré qui prend en charge la conversion entre les formats PEM et PFX, PEM et JKS, ainsi que PEM et PKCS8. Consultez la rubrique Outils de certificat.

Option 2 : Outil en ligne de commande OpenSSL

OpenSSL est disponible sur tous les systèmes d'exploitation et prend en charge tous les chemins de conversion courants.

Convertir PEM en PFX (pour IIS et Tomcat)

Cette commande combine un fichier de certificat, un fichier de clé privée et un fichier de chaîne facultatif en un seul fichier PFX protégé par mot de passe.

# Server certificate and private key only
openssl pkcs12 -export \
  -out server.pfx \        # Output PFX file
  -inkey private.key \     # Private key file
  -in server.crt           # Server certificate

# With a complete certificate chain
openssl pkcs12 -export \
  -out server.pfx \
  -inkey private.key \
  -in server.crt \
  -certfile chain.crt      # Intermediate certificate chain

Diviser PFX en PEM (pour Nginx et Apache)

Ces commandes extraient le certificat et la clé privée d'un fichier PFX vers des fichiers PEM distincts.

# Step 1: Extract the private key (password-protected)
openssl pkcs12 -in server.pfx -nocerts -out server.encrypted.key

# Step 2: Extract the server certificate only (leaf certificate, no CA chain)
openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt

# Step 3: Extract the intermediate CA certificates
# Note: The root CA certificate is not required for deployment
openssl pkcs12 -in server.pfx -cacerts -nokeys -out chain.crt

# Step 4 (optional): Remove the password from the private key
# Required for servers that start non-interactively (Nginx, Apache)
openssl pkey -in server.encrypted.key -out private.key

# Step 5 (optional): Concatenate into a single chain file
# Skip this step if chain.crt does not exist (no intermediate certs in the PFX)
# Order matters: server certificate first, then intermediate certificates
cat server.crt chain.crt > fullchain.crt
Important

Le fichier private.key résultant n'est pas protégé par mot de passe. Restreignez immédiatement ses permissions : chmod 400 private.key (lecture seule pour le propriétaire du fichier).

Configuration Nginx après conversion :

ssl_certificate     /path/to/fullchain.crt;
ssl_certificate_key /path/to/private.key;

Configuration Apache après conversion :

Pour Apache 2.4.8 et versions ultérieures :

SSLCertificateFile    /path/to/fullchain.crt
SSLCertificateKeyFile /path/to/private.key

Pour les versions d'Apache antérieures à 2.4.8, configurez la chaîne intermédiaire séparément :

SSLCertificateFile      /path/to/server.crt
SSLCertificateKeyFile   /path/to/private.key
SSLCertificateChainFile /path/to/chain.crt

Convertir entre DER et PEM

DER et PEM représentent les mêmes données avec des encodages différents : ASN.1 binaire contre ASN.1 encodé en Base64 avec marqueurs. Effectuez la conversion lorsqu'un serveur ou un outil requiert un encodage spécifique.

# DER to PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem

# PEM to DER
openssl x509 -inform pem -in certificate.pem -outform der -out certificate.der

Convertir JKS en PKCS#12 (chemin de migration recommandé)

Utilisez l'utilitaire keytool de Java pour convertir un ancien Java Keystore (JKS) en PKCS#12.

keytool -importkeystore \
  -srckeystore keystore.jks \    # Source JKS file
  -srcstoretype JKS \
  -destkeystore keystore.p12 \   # Output PKCS#12 file
  -deststoretype PKCS12

Cette opération migre toutes les entrées de keystore.jks vers keystore.p12. Pour migrer uniquement une entrée spécifique, ajoutez -srcalias <alias> et -destalias <alias>. La commande demande le mot de passe source (JKS) et le mot de passe de destination (PKCS#12).