TUTOS.EU

Créer un certificat pem

Transformer un certificat au format pem utilisé sur Linux

On pourrait dire que le .pem est le pendant Linux du .pfx sur Windows.

Le certificat pem est créé à partir d'autres certificats.
Il peut stocker la clé publique de votre certificat, sa clé privée ainsi que ceux de l'autorité de certification qui a émis votre certificat final (c'est ce que l'on appelle la chaîne).

 

Il faut respecter un ordre (vu sur microfocus.com) qui est :

  • la clé privée du serveur (non cryptée de préférence)
  • la clé publique du serveur
  • le certificat publique de l'autorité racine de certification (le root)
  • le ou les certificats publiques des autorités de certification intermédaires

 

Pour créer se fichier .pem, sous Linux on peut utilier la commande cat. Exemple de création

cat myserveurprivatekey.key > myserveur.pem
cat myserveurpublickey.cer >> myserveur.pem
cat rootca.cer >> myserveur.pem
cat subca.cer >> myserveur.pem

Plus simplement, la création d'un pem peut se faire par conversion à partir d'un .pfx (qui est déjà un format qui peut contenir plusieurs certificats comme le .key, des .cer etc)

openssl pkcs12 -in cert.pfx -out newcert.pem -nodes
Lien vers le fichier : cliquez ici Copier le code

Attention ! Il peut arriver que la clé privée soit placée après la clé publique. Cela provoque des erreurs type unable to load SSL private key from PEM file

Pour corriger il faut couper/coller la partie qui correspond à la clé privée avant la clé publique.

Dans le même ordre d'idée, sans que je comprenne encore la nuance, il y a aussi

openssl x509 -inform der -in cert.cer -out c:\temp\cert.pem
Lien vers le fichier : cliquez ici Copier le code

On peut aussi utiliser les outils fournis dans le pfx2pem.zip joint.
Vous ferez un drag and drop de votre .pfx sur le fichier x2pem.wsf
Cela vous demandera le mot de passe.

Il y a 2 versions :
pfx2pem génère un .pem avec une clé privée non cryptée pour les CAG ayant une version allant jusq'à la V4.2
pfx2pem-des génère un fichier .pem avec une clé privée cryptée, utilisée sur les Netscaler et les CAG ayant une version supérieure à la V4.2

On peut dispatcher un .pfx en un .cer et .key avec ces commandes openssl.

comme dit sur https://www.openssl.org/docs/manmaster/man1/openssl-pkcs12.html
• clcerts indique que l'on ne veut que les certificats du client.
• nokeys indique que l'on ne veut pas exporter les clés privées
• nodes ou noenc demande à ce que l'on ne crypte pas la clé privée
• nocerts indique que l'on ne veut pas exporter de certificats

openssl pkcs12 -in MonCertificat.pfx -clcerts -nokeys -out MonCertificat.cer
openssl pkcs12 -in MonCertificat.pfx -nocerts -nodes  -out MonCertificat.key
Lien vers le fichier : cliquez ici Copier le code

Si vous voulez extraire la chaîne, voir https://www.tutos.eu/8487

L'export d'un certificat sous Windows qui contient et la clé publique et la clé privée se fait dans un fichier .pfx
Lors de sa création il faut donc en prérequis que la clé privée ait été marquée comme exportable sinon vous ne pourrez pas exporter votre certificat en .pfx

pfx signifie Personal inFormation eXchange. C'est également connu sous le nom PKCS#12.

Voici un exemple d'export sous Windows 2012 :

En cas d'usage pour un .PEM, on peut citer l'ancienne techno AccessGateway
C est aussi utilisé sur un HAProxy

Pages Web

Site WebDescription
Jaytomlin.comArticle où l'on présente pfx2pem

Téléchargement(s)

NomSite Web d origineDescription
pfx2pem.zip http://www.jaytomlin.com/blog/... Script de convertion d'un certificat .pfx en .pem
openssl_V0.9.8d_for_Windo... OpenSSL pour Windows
7zip V4.57 http://www.7-zip.org/download.... Logiciel de compression. Permet aussi d'explorer les images ISO.


2