Convertir un certificat CERT / PEM en certificat PFX

192

J'ai vu quelques questions sur la façon de convertir un PFX en fichier cert, mais je dois aller dans l'autre sens.

J'ai deux fichiers:

bob_cert.cert

bob_key.pem

Je voudrais les convertir en un seul fichier .pfx. Existe-t-il un outil pour cela?

Bendewey
la source
16
serverfault.com/a/9717/3202 est une excellente explication sur les formats de fichiers cert, juste pour info
Rory

Réponses:

365
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Francis
la source
7
Comment puis-je réaliser la même chose par programmation en C #?
pankajt
2
Pourriez-vous me diriger vers ces exemples? Je n'arrive pas à trouver quoi que ce soit.
Nick
10
La version Windows d'OpenSSL est disponible sur slproweb.com/products/Win32OpenSSL.html . Je viens de l'essayer, et cela a fonctionné correctement à cette fin.
BrianFinkel
2
Grande liste de commandes OpenSSL courantes sur sslshopper.com/article-most-common-openssl-commands.html
Rory
4
Quelques ajouts: -name "friendly name"définit le nom (qui apparaîtrait dans la liste des certificats dans Windows, par exemple), et -certfile cacert.pempeut être utilisé pour ajouter le ou les certificats CA et produire le .pfxfichier avec toute la chaîne.
pvgoran le
21

Voici comment procéder sous Windows sans outils tiers:

  1. Importez le certificat dans le magasin de certificats. Dans l'Explorateur Windows, sélectionnez "Installer le certificat" dans le menu contextuel. entrez la description de l'image ici Suivez l'assistant et acceptez les options par défaut "Utilisateur local" et "Automatiquement".

  2. Trouvez votre certificat dans le magasin de certificats. Sous Windows 10, exécutez la console MMC «Gérer les certificats utilisateur». Sous Windows 2013, la console MMC s'appelle «Certificats». Sur Windows 10 par défaut, votre certificat doit être sous le nœud "Personnel" -> "Certificats".

  3. Certificat d'exportation. Dans le menu contextuel, sélectionnez le menu "Exporter ...": entrez la description de l'image ici

    Sélectionnez "Oui, exporter la clé privée": entrez la description de l'image ici

    Vous verrez que l'option .PFX est activée dans ce cas: entrez la description de l'image ici

    Spécifiez le mot de passe pour la clé privée.

IT Hit WebDAV
la source
11
A l'étape 2, mon certificat n'est pas "Personnel" -> "Certificats". Il apparaît dans "Autres personnes" -> "Certificats", et lors de l'exportation, le "Échange d'informations personnelles (PFX)" apparaît désactivé. Savez-vous comment l'activer?
Gabrielizalo
J'ai corrigé avec le convertisseur de certificat portable de DigiCert: digicert.com/util/…
Gabrielizalo
15
vous ne pouvez pas importer un PEM.
Ross Presser
1
Vous devez d'abord renommer .pem en .cer pour que Windows reconnaisse le fichier en tant que fichier de certificat / clé privée. Les deux extensions de fichier peuvent contenir des cert (s) et / ou des clés au format texte brut blindé ASCII ou au format binaire encodé en Base64 / DER, mais vous pouvez utiliser des fichiers cer avec les utilitaires intégrés de Windows.
Mastacheata
9
La question d'OP était de savoir comment l'importer lorsque la clé privée n'est pas incluse dans le fichier de certificat mais que vous avez deux fichiers: un crt et un pem (pem contenant la clé privée). Cette réponse ne fonctionne pas dans ce cas.
masi
17

J'ai créé un fichier .pfx à partir de fichiers .key et .pem.

Comme ça openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Ce n'est pas la réponse directe, mais peut-être que cela aide quelqu'un d'autre.

Siim Nelis
la source
5

Si vous disposez d'un certificat auto-signé généré par makecert.exesur une machine Windows, vous obtiendrez deux fichiers: cert.pvket cert.cer. Ceux-ci peuvent être convertis en pfx en utilisantpvk2pfx

pvk2pfxse trouve au même endroit que makecert(par exemple C:\Program Files (x86)\Windows Kits\10\bin\x86ou similaire)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
EBlake
la source