Qu'est-ce qu'un fichier PEM ?

Ce qu'il faut savoir

  • Un fichier PEM est un fichier de certificat de messagerie à confidentialité renforcée.
  • Ouvrez-en un avec le programme ou le système d'exploitation qui nécessite le fichier (ils fonctionnent tous un peu différemment).
  • Convertissez en PPK, PFX ou CRT avec une commande ou un convertisseur spécial.

Cet article explique à quoi servent les fichiers PEM, comment en ouvrir un en fonction du programme ou du système d'exploitation que vous utilisez et comment en convertir un dans un format de fichier de certificat différent.

Qu'est-ce qu'un fichier PEM?

Un fichier PEM est un fichier de certificat de confidentialité amélioré utilisé pour transmettre des e-mails de manière privée. La personne qui reçoit cet e-mail peut être sûre que le message n'a pas été altéré lors de sa transmission, n'a été montré à personne d'autre et a été envoyé par la personne qui prétend l'avoir envoyé.

Les fichiers PEM sont nés de la complication de l'envoi de données binaires par courrier électronique. Le format PEM encode le binaire en base64 afin qu'il existe sous forme de chaîne ASCII.

Le format PEM a été remplacé par des technologies plus récentes et plus sécurisées, mais le conteneur PEM est toujours utilisé aujourd'hui pour contenir des fichiers d'autorité de certification, des clés publiques et privées, des certificats racines, etc.

Certains fichiers au format PEM peuvent utiliser à la place une extension de fichier différente, comme CER ou CRT pour les certificats, ou KEY pour les clés publiques ou privées.

Comment ouvrir les fichiers PEM

Les étapes d'ouverture d'un fichier PEM sont différentes selon l'application qui en a besoin et le système d'exploitation que vous utilisez. Cependant, vous devrez peut-être convertir votre fichier PEM en CER ou CRT pour que certains de ces programmes acceptent le fichier.

les fenêtres

Si vous avez besoin du fichier CER ou CRT dans un client de messagerie Microsoft comme Outlook, ouvrez-le dans Internet Explorer pour qu'il soit automatiquement chargé dans la base de données appropriée. Le client de messagerie peut l'utiliser automatiquement à partir de là.

Pour voir quels fichiers de certificat sont chargés sur votre ordinateur et pour en importer manuellement, utilisez Internet Explorer Outils menu pour accéder options Internet > Teneur > Certificats, comme ça:

Capture d'écran des certificats sous Windows 8

Pour importer un fichier CER ou CRT dans Windows, commencez par ouvrir Microsoft Management Console à partir de la boîte de dialogue Exécuter (utilisez le Touche Windows + R raccourci clavier pour entrer mmc). De là, allez à Fichier > Ajouter/Supprimer un composant logiciel enfichable... et sélectionnez Certificats de la colonne de gauche, puis le Ajouter > bouton au centre de la fenêtre.

Capture d'écran du composant logiciel enfichable Certificates MMC dans Windows 10

Choisir Compte informatique sur l'écran suivant, puis parcourez l'assistant en sélectionnant Ordinateur local lorsqu'on lui a demandé. Une fois que « Certificats » est chargé sous « Racine de la console », développez le dossier et cliquez avec le bouton droit de la souris. Autorités de certification racine de confiance, et choisissez Toutes les tâches > Importer.

macOS

Le même concept est vrai pour votre client de messagerie Mac que pour un client Windows: utilisez Safari pour importer le fichier PEM dans Keychain Access.

Vous pouvez également importer des certificats SSL via le Déposer > Importer des articles menu dans Keychain Access. Choisir Système dans le menu déroulant, puis suivez les instructions à l'écran.

Capture d'écran de l'option des éléments de menu Accès au trousseau
Importation d'éléments dans Keychain Access (macOS High Sierra).

Si ces méthodes ne fonctionnent pas pour importer le fichier PEM dans macOS, vous pouvez essayer ce qui suit commander (changez "votrefichier.pem" pour être le nom et l'emplacement de votre fichier PEM spécifique):

security import yourfile.pem -k ~/Library/Keychains/login.keychain

Linux

Utilisez ceci outil clé commande pour afficher le contenu d'un fichier PEM sous Linux:

keytool -printcert -file votrefichier.pem

Suivez ces étapes si vous souhaitez importer un fichier CRT dans l'autorité de certification de confiance de Linux référentiel (voir la méthode de conversion PEM en CRT dans la section suivante ci-dessous si vous avez un fichier PEM au lieu):

  1. Aller vers /usr/share/ca-certificates/.

  2. Créez-y un dossier (par exemple, sudo mkdir /usr/share/ca-certificates/work).

  3. Copiez le fichier .CRT dans ce dossier nouvellement créé. Si vous préférez ne pas le faire manuellement, vous pouvez utiliser cette commande à la place: sudo cp votrefichier.crt /usr/share/ca-certificates/work/votrefichier.crt.

  4. Assurez-vous que les autorisations sont correctement définies (755 pour le dossier et 644 pour le fichier).

  5. Exécutez le sudo update-ca-certificats commander.

Firefox et Thunderbird

Si le fichier PEM doit être importé dans un client de messagerie Mozilla comme Thunderbird, vous devrez peut-être d'abord exporter le fichier PEM hors de Firefox. Ouvrez le menu Firefox et choisissez Options. Aller à Confidentialité et sécurité et trouver le Sécurité section, puis utilisez la Afficher les certificats... bouton pour ouvrir une liste, à partir de laquelle vous pouvez sélectionner celle que vous devez exporter. Utilisez le Sauvegarde... possibilité de l'enregistrer.

Ensuite, dans Thunderbird, ouvrez le menu et cliquez ou appuyez sur Options. Aller vers Avancée > Certificats > Gérer les certificats > Vos certificats > Importer. À partir de la section « Nom du fichier: » du Importer fenêtre, choisissez Fichiers de certificat dans la liste déroulante, puis recherchez et ouvrez le fichier PEM.

Pour importer le fichier PEM dans Firefox, suivez simplement les mêmes étapes que pour en exporter un, mais choisissez Importer à la place du Sauvegarde... bouton. Si vous ne trouvez pas le fichier PEM, assurez-vous que la zone "Nom de fichier" de la boîte de dialogue est définie sur Fichiers de certificat et pas Fichiers PKCS12.

Magasin de clés Java

Stack Overflow a un fil sur l'importation d'un fichier PEM dans le Java KeyStore (JKS) si vous avez besoin de le faire. Une autre option qui pourrait fonctionner consiste à utiliser cet outil keyutil.

Comment convertir un fichier PEM

Contrairement à la plupart des formats de fichiers qui peuvent être convertis avec un outil de conversion de fichiers ou un site Web, vous devez entrer commandes spéciales contre un programme particulier afin de convertir le format de fichier PEM en la plupart des autres formatage.

Convertissez PEM en PPK avec PuTTYGen. Choisir Charge dans la partie droite du programme, définissez le type de fichier sur n'importe quel fichier (*.*), puis recherchez et ouvrez votre fichier PEM. Choisir Enregistrer la clé privée pour créer le fichier PPK.

Avec OpenSSL (obtenir la version Windows ici), vous pouvez convertir le fichier PEM en PFX avec la commande suivante:

openssl pkcs12 -inkey yourfile.pem -in yourfile.cert -export -out yourfile.pfx

Si vous avez un fichier PEM qui doit être converti en CRT, comme c'est le cas avec Ubuntu, utilisez cette commande avec OpenSSL:

openssl x509 -in yourfile.pem -inform PEM -out yourfile.crt

OpenSSL prend également en charge la conversion de .PEM en .P12 (PKCS#12 ou Public Key Cryptography Standard #12), mais ajoutez l'extension de fichier ".TXT" à la fin du fichier avant d'exécuter cette commande:

openssl pkcs12 -export -inkey yourfile.pem.txt -in yourfile.pem.txt -out yourfile.p12

Voir le lien Stack Overflow ci-dessus sur l'utilisation du fichier PEM avec Java KeyStore si vous souhaitez convertir le fichier en JKS, ou ce didacticiel de Oracle pour importer le fichier dans le truststore Java.

Plus d'informations sur PEM

La fonction d'intégrité des données du format Privacy Enhanced Mail Certificate utilise RSA-MD2 et RSA-MD5 résumés de message pour comparer un message avant et après son envoi, afin de s'assurer qu'il n'a pas été falsifié en cours de route.

Au début d'un fichier PEM se trouve un en-tête qui lit COMMENCER [étiquette], et la fin des données est un pied de page similaire à celui-ci: FIN [étiquette]. La section "[label]" décrit le message, il peut donc indiquer CLÉ PRIVÉE, DEMANDE DE CERTIFICAT, ou CERTIFICAT.

Voici un exemple:

COMMENCER LA CLÉ PRIVÉE
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMLgD0kAKDb5cFyP
jbwNfR5CtewdXC+kMXAWD8DLxiTTvhMW7qVnlwOm36mZlszHKvsRf05lT4pegiFM
9z2j1OlaN+ci/X7NU22TNN6crYSiN77FjYJP464j876ndSxyD+rzys386T+1r1aZ
aggEdkj1TsSsv1zWIYKlPIjlvhuxAgMBAAECgYA0aH+T2Vf3WOPv8KdkcJg6gCRe
yJKXOWgWRcicx/CUzOEsTxmFIDPLxqAWA3k7v0B+3vjGw5Y9lycV/5XqXNoQI14j
y09iNsumds13u5AKkGdTJnZhQ7UKdoVHfuP44ZdOv/rJ5/VD6F4zWywpe90pcbK+
AWDVtusgGQBSieEl1QJBAOyVrUG5l2234raSDfm/DYyXlIthQO/A3/LngDW
5/ydGxVsT7lAVOgCsoT+0L4efTh90PjzW8LPQrPBWVMCQQDS3h/FtYYd5lfz+FNL
9CEe1F1w9l8P749uNUD0g317zv1tatIqVCsQWHfVHNdVvfQ+vSFw38OORO00Xqs9
1GJrAkBkoXXEkxCZoy4PteheO/8IWWLGGr6L7di6MzFl1lIqwT6D8L9oaV2vynFT
DnKop0pa09Unhjyw57KMNmSE2SUJAkEArloTEzpgRmCq4IK2/NpCeGdHS5uqRlbh
1VIa/xGps7EWQl5Mn8swQDel/YP3WGHTjfx7pgSegQfkyaRtGpZ9OQJAa9Vumj8m
JAAtI0Bnga8hgQx7BhTQY4CadDxyiRGOGYhwUzYVCqkb2sbVRH9HnwUaJT7cWBY3
RnJdHOMXWem7/w==
FIN CLÉ PRIVÉE

Un fichier PEM peut contenir plusieurs certificats, auquel cas les sections "END" et "BEGIN" sont voisines.

Vous ne pouvez toujours pas ouvrir le fichier?

L'une des raisons pour lesquelles votre fichier ne s'ouvre pas de l'une des manières décrites ci-dessus est que vous n'avez pas réellement affaire à un fichier PEM. Vous pourriez plutôt avoir un fichier qui utilise simplement une extension de fichier épelée de la même manière. Lorsque c'est le cas, il n'est pas nécessaire que les deux fichiers soient liés ou qu'ils fonctionnent avec les mêmes logiciels.

Par exemple, DEP ressemble énormément à PEM mais appartient au format de fichier Pentax Raw Image ou au format Portable Embosser. Suivez ce lien pour voir comment ouvrir ou convertir des fichiers PEF, si c'est vraiment ce que vous avez.

La même chose pourrait être dite pour de nombreuses autres extensions de fichiers comme EPM, EMP, EPP, PES, PET... vous voyez l'idée. Vérifiez simplement l'extension de fichier pour voir qu'elle lit réellement ".pem" avant de considérer que les méthodes ci-dessus ne fonctionnent pas.

Si vous avez affaire à un fichier KEY, sachez que tous les fichiers se terminant par .KEY n'appartiennent pas au format décrit sur cette page. Il peut s'agir plutôt de fichiers de clé de licence de logiciel utilisés lors de l'enregistrement de logiciels tels que LightWave ou de fichiers de présentation Keynote créés par Apple Keynote.

FAQ

  • Comment créer un fichier PEM ?

    La première étape vers la création d'un fichier PEM consiste à télécharger les certificats que votre autorité de certification vous a envoyés. Cela comprendra un certificat intermédiaire, un certificat racine, un certificat principal et des fichiers de clé privée.

    Ensuite, ouvrez un éditeur de texte, tel que WordPad ou Bloc-notes, et collez le corps de chaque certificat dans un nouveau fichier texte. Ils doivent être dans cet ordre: clé privée, certificat primaire, certificat intermédiaire, certificat racine. Ajoutez des balises de début et de fin. Ils ressembleront à ceci :

    COMMENCER LE CERTIFICAT et FINIR LE CERTIFICAT

    Enfin, enregistrez le fichier sous votre_domaine.pem.

  • Un fichier PEM est-il la même chose qu'un fichier CRT ?

    Non. Les fichiers PEM et CRT sont liés; les deux types de fichiers représentent différents aspects du processus de génération et de vérification des clés. Les fichiers PEM sont des conteneurs destinés à vérifier et à déchiffrer les données envoyées par un serveur. Un fichier CRT (qui signifie certificat) représente une demande de signature de certificat. Les fichiers CRT sont un moyen de vérifier la propriété sans accès à la clé privée. Les fichiers CRT contiennent la clé publique ainsi que beaucoup plus d'informations.