Les certificats électroniques permettent d’assurer l’identité de l’interlocuteur, l’entité ou le serveur avec lequel vous échangez.
C’est donc un peu comme une carte d’identité.
Les certificats électroniques se distribuent, téléchargent sous forme de fichiers. Il existe ainsi plusieurs formats et extensions : .p12, .pfx, .cer, .pem ou .cert.
Cela recouvrent différents formats comme x509, ASN.1, DER, etc.
Cet article vous dit tout sur les formats et extensions de fichiers de certificats électroniques.
Table des matières
Les formats de certificats électroniques
Il existe donc plusieurs formats de fichiers de certificats électroniques.
Certains embarquent toute la chaîne complète, d’autres non.
Pour rappel la chaîne complète d’un certificat électronique, se compose :
- de la clé publique
- La clé privée
- le certificat d’autorité (CA)
Plus d’informations sur du fonctionnement :
Ainsi pour importer un fichier de certificats dans Windows ou Linux, un mot de passe peut-être nécessaire.
Les formats de certificats électroniques
Il définisse la structure et le contenu d’un certificat électronique.
x509
C’est une norme et format de certificats électroniques utilisés pour les mails électroniques, IPSec et les applications WWW.
X.509 établit entre autres un format standard de certificat électronique et un algorithme pour la validation de chemin de certification.
On l’utilise donc pour chiffrer les communications avec le protocole TLS.
Il stocke plusieurs objets :
- Le premier objet contient tout ce qui est intéressant qui sera signé, c’est pourquoi nous l’appelons un certificat de signature
- Le deuxième objet contient le type de signature utilisé par l’autorité de certification pour signer ce certificat (ex: sha256)
- Le dernier objet n’est pas un objet, il ne s’agit que de quelques bits qui correspondent à la signature du TBSCertificate après avoir été encodé avec DER
C’est le ITU Telecommunication Standardization Sector (ITU-T) qui établit les normes de ce format de certificats électroniques.
PKCS
PKCS (Public Key Cryptography Standards) est un groupe et famille de standards numéro de 1 à 15 définit par RSA Security.
On les note de la manière suivante : PKCS #1, PKCS #7, PKCS #12
Ces derniers utilisent différents algorithmes comme l’algorithme RSA, algorithme de signature Schnorr et bien d’autres.
Wikipedia fournit une liste sur cette page : PKCS
ASN.1
ASN (Abstract Syntax Notation One) est un schéma de sérialisation standard utilisé dans de nombreux cas d’utilisation différents.
Il est couramment utilisé pour les certificats X.509 et certains protocoles de télécommunication / réseau.
C’est donc le format de certificat électronique le plus important.
En général, il stocke tout un tas d’informations sur le client, le CA, le publickey du client, etc …
BER, CER et DER
Ensuite, on trouve les format d’encodage ASN.1 avec les abréviations BER, CER, DER :
- Basic Encoding Rules (BER)
- Canonical Encoding Rules (CER) – format réduit de BER
- Distinguished Encoding Rules (DER) – format réduit de BER
C’est un schéma de codage auto-descriptif qui permet la représentation d’éléments de données atomiques simples, tels que des chaînes et des nombres, et des objets complexes, tels que des séquences d’autres éléments.
Ces formats font parti de la norme X.690.
PEM
Privacy-Enhanced Mail (PEM) est un format de fichier pour stocker et envoyer des clés cryptographiques, des certificats et d’autres données.
Il est très peu courant car supplantées par PGP et S / MIME.
C’est un autre format d’encodage sous la forme de string en base64.
Les données en base64 sont encadrés par un BEGIN et END.
Par exemple :
-----BEGIN CERTIFICATE-----
base64
-----END CERTIFICATE-----
ou
-----BEGIN ENCRYPTED PRIVATE KEY-----
base64
-----END ENCRYPTED PRIVATE KEY-----
Les extensions de fichiers électroniques
Les certificats électroniques se transmettent sous la forme de fichiers.
Ainsi, on peut trouver différentes extensions de fichiers de format électroniques.
Cela donne en général une idée du format de fichier derrière même si malheureusement ce n’est pas toujours le cas.
Fichier .p7b ou .p7s (PKCS #7)
Fichiers avec l’extension .p7b ou .p7s
C’est un format Utilisé pour signer et ou chiffrer des messages sous une Une infrastructure à clés publiques (ICP – PKI).
On peut aussi l’utiliser également pour la diffusion de certificats (par exemple en réponse à un message PKCS # 10).
Fichier .p12 et .pfx (PKCS #12)
En cryptographie, PKCS # 12 définit un format de fichier d’archive pour stocker de nombreux objets de cryptographie dans un seul fichier.
Il est couramment utilisé pour regrouper une clé privée avec son certificat X.509 ou pour regrouper tous les membres d’une chaîne de confiance.
Le fichier est en général protégé par cryptographie avec des mots de passe pour garder les clés privées privées et préserver l’intégrité des certificats racine
Il peut porter l’extension .p12 ou .pfx pour PFX Personal Exchange.
PKCS # 12 est le successeur du “PFX” de Microsoft même si parfois les extensions se confondent.
Lorsque vous exportez un certificat depuis un magasin de certificat de Windows avec certmgr.msc, pfx est le format de fichier utilisé.
Fichier .cer, .crt ou .cert
C’est l’extension par défaut utilisé par Windows pour les certificats X.509
Celles-ci peuvent être en “binaire” (ASN.1 DER), ou elles peuvent être codées avec Base-64 et avoir un en-tête et un pied de page appliqués (PEM).
Normalement utilisé pour la certification SSL pour vérifier et identifier la sécurité des serveurs Web. Le fichier contient des informations sur le propriétaire du certificat et la clé publique. Un fichier CER peut être en binaire (ASN.1 DER) ou encodé avec Base-64 avec en-tête et pied de page inclus (PEM), Windows reconnaîtra l’une ou l’autre de ces dispositions.
Fichier .pem
C’est en général un fichier au format PEM.
PVK
PVK Signifie clé privée (Private Key).
Windows utilise des fichiers PVK pour stocker les clés privées pour la signature de code dans divers produits Microsoft. PVK est un format propriétaire.
Enfin vous pouvez créer un fichier CER basé sur un fichier PVK.
Tableau récapitulatif des formats de certificats électroniques
Format | Extension de fichier | Description |
PKCS#7 | .p7b ou .p7s | |
PKCS#12 | *.pem, *.crt, *.ca-bundle, *.cer | Les fichiers contiennent un ou plusieurs fichiers de certificat numérique X.509 qui utilisent le codage base64 (ASCII). Vous en obtenez un dans un fichier zip téléchargé depuis votre compte utilisateur ou recevez un tel fichier de l’autorité de certification |
DER | .cer, .cert ou .crt | Format d’encodage pour ASN.1 |
pfx | Format d’export de certificat de Windows. Il s’agit d’un format de fichier d’archive permettant de stocker plusieurs objets cryptographiques dans un seul fichier | |
PEM | .pem | Format d’encodage en base64 |
PVK | .pkv | Format utilisé par Windows pour stocker une clé privée |
Convertir des certificats électroniques
Pour la conversion de formats de clés privés et certificats électroniques, suivez ce tutoriel :
Liens
- Les certificats et signatures électroniques : A quoi cela sert et comment cela fonctionne
- Les formats et extensions de fichiers de certificats électroniques
- Convertir CRT, p12, DER, PEM, P7B, P12 et PFX
- Exporter/Importer un certificat (P12, P7B ou PFX) dans Windows
- certutil : importer/exporter les certificats de Windows en ligne de commandes
- Comment afficher le certificat d’un site HTTPS/sécurisé
- Désactiver la signature numérique des pilotes sur Windows 10