204 votes

Convertir .pfx en .cer

Est-il possible de convertir un fichier .pfx (Personal Information Exchange) en un fichier .cer (Security Certificate) ? Sauf erreur de ma part, un .cer n'est-il pas en quelque sorte intégré dans un .pfx ? J'aimerais pouvoir l'extraire, si possible.

281voto

Berk D. Demir Points 2438

Les fichiers PFX sont PKCS#12 Norme de syntaxe d'échange d'informations personnelles des liasses. Ils peuvent comprendre un nombre arbitraire de clés privées accompagnées de certificats X.509 et d'une chaîne d'autorité de certification (ensemble de certificats).

Si vous souhaitez extraire les certificats des clients, vous pouvez utiliser la fonction Outil PKCS12 d'OpenSSL .

openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts

La commande ci-dessus permet d'obtenir le(s) certificat(s) au format PEM. L'extension de fichier ".crt" est gérée par macOS et Window.

Vous mentionnez l'extension ".cer" dans la question, qui est conventionnellement utilisée pour les fichiers codés en DER. Il s'agit d'un encodage binaire. Essayez d'abord le fichier ".crt" et s'il n'est pas accepté, il est facile de le convertir de PEM à DER :

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer

21 votes

+1 pour expliquer ce qu'est le fichier en plus de fournir les commandes.

0 votes

"Mac verify error : invalid password ?" lorsque j'ai essayé. Je ne connais aucun mot de passe, je n'ai que le fichier fourni par mon vendeur.

1 votes

Il semble que l'abandon de "-nokeys" fonctionne lorsque vous essayez de convertir un certificat avec ses clés privées, par exemple pour l'utiliser avec Fiddler.

108voto

Andrew Cox Points 5458

La méthode la plus simple consiste à l'importer puis à l'exporter, en utilisant le gestionnaire de certificats dans la console de gestion Windows.

10 votes

J'ai essayé de le faire mais lorsque je sélectionne l'exportation de la clé privée, l'option .cer (encodage DER) est désactivée. et l'utilitaire midletsigner a de toute façon besoin de la provatekey

3 votes

Lors de l'importation, vous devez cocher la case "marquer cette clé comme exportable".

13 votes

Comment accéder au gestionnaire de certificats dans Windows : msdn.microsoft.com/en-us/library/ms788967.aspx

66voto

Ian Gallagher Points 694

Si vous travaillez avec PowerShell, vous pouvez utiliser quelque chose comme ce qui suit, à partir d'un fichier pfx InputBundle.pfx pour produire un fichier de certificat codé en DER (binaire) OutputCert.der :

Get-PfxCertificate -FilePath InputBundle.pfx | 
Export-Certificate -FilePath OutputCert.der -Type CERT

La nouvelle ligne a été ajoutée pour plus de clarté, mais vous pouvez bien sûr faire tenir tout cela sur une seule ligne.

Si vous avez besoin du certificat au format PEM codé en ASCII/Base64, vous pouvez prendre des mesures supplémentaires pour le faire, comme indiqué ailleurs, par exemple ici : https://superuser.com/questions/351548/Windows-integrated-utility-to-convert-der-to-pem

Si vous avez besoin d'exporter dans un format différent de l'encodage DER, vous pouvez modifier le paramètre -Type pour Export-Certificate afin d'utiliser les types pris en charge par .NET, comme le montre l'exemple suivant help Export-Certificate -Detailed :

-Type <CertType>
    Specifies the type of output file for the certificate export as follows. 
     -- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates. 
     -- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate. 
     -- P7B: A PKCS#7 file format which can contain one or more certificates.

33voto

king Puppy Points 31

J'ai voulu ajouter une méthode qui me semble la plus simple de toutes.

  1. Il suffit de faire un clic droit sur le fichier pfx, de cliquer sur "Installer", de suivre l'assistant et de l'ajouter à un magasin (je l'ai ajouté au magasin personnel).

  2. Dans le menu Démarrer, tapez certmgr.msc et accédez au programme CertManager.

  3. Trouvez votre certificat pfx (les onglets en haut sont les différents magasins), cliquez sur le bouton d'exportation et suivez l'assistant (il y a une option pour exporter au format .CER).

Elle fait essentiellement la même chose que la réponse d'Andrew, mais elle évite d'utiliser la console de gestion Windows (elle va directement à l'importation/exportation).

0 votes

Ce n'est pas beaucoup plus rapide puisqu'il faut toujours ouvrir certmgr.msc pour l'exporter....

4voto

Attiq Ur Rehman Points 11

Vous pouvez extraire ca-bundle, .crt et .key de .pfx en utilisant ceci.

# Extracting ca-certs..."
  openssl pkcs12 -in ${filename}.pfx -nodes -nokeys -cacerts -out ${filename}-ca.crt

# Extracting key file..."
  openssl pkcs12 -in ${filename}.pfx -nocerts -out ${filename}.key

# Extracting crt..."
  openssl pkcs12 -in ${filename}.pfx -clcerts -nokeys -out ${filename}.crt

# combine ca-certs and cert files
  cat  ${filename}.crt ${filename}-ca.crt > ${filename}-full.crt

# Removing passphrase from keyfile"
  openssl rsa -in ${filename}.key -out ${filename}.key

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X