web-dev-qa-db-fra.com

Conversion .pfx en .cer

Est-il possible de convertir un fichier .pfx (échange d'informations personnelles) en un fichier .cer (certificat de sécurité)? Sauf erreur de ma part, un .cer n'est-il pas en quelque sorte intégré à un fichier .pfx? Je voudrais un moyen de l'extraire, si possible.

132
Mark Carpenter

je crois que le moyen le plus simple est de l'importer, puis de l'exporter à l'aide du gestionnaire de certificats de la console de gestion Windows.

78
Andrew Cox

Les fichiers PFX sont les ensembles de syntaxe PKCS # 12 Personal Information Syntax Standard . Ils peuvent inclure un nombre arbitraire de clés privées accompagnées de certificats X.509 et d'une chaîne d'autorités de certification (ensemble de certificats).

Si vous souhaitez extraire des certificats clients, vous pouvez utiliser outil PKCS12 d'OpenSSL .

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

La commande ci-dessus générera des certificats au format PEM. L'extension de fichier ".crt" est gérée par macOS et Windows.

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

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer
182
Berk D. Demir

Si vous travaillez dans PowerShell, vous pouvez utiliser quelque chose comme ceci, à partir d'un fichier pfx InputBundle.pfx , pour produire un certificat codé DER (binaire). fichier OutputCert.der :

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

Newline ajouté pour plus de clarté, mais vous pouvez bien sûr tout avoir sur une seule ligne.

Si vous avez besoin du certificat au format PEM codé ASCII/Base64, vous pouvez prendre des mesures supplémentaires, comme indiqué ailleurs, comme ici: https://superuser.com/questions/351548/windows-integrated-utility -à-convertir-der-à-pem

Si vous avez besoin d'exporter vers un format différent de celui encodé en DER, vous pouvez modifier le paramètre -Type pour Export-Certificate afin qu'il utilise les types pris en charge par .NET, comme indiqué dans 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.
35
Ian Gallagher

Je voulais ajouter une méthode qui, à mon avis, était la plus simple.

  1. Il suffit de cliquer avec le bouton droit sur le fichier pfx, de cliquer sur "Installer", de suivre l’assistant, puis de l’ajouter à un magasin (j’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 exporter et suivez l’assistant (il existe une option pour exporter en tant que .CER)

Cela fait essentiellement la même chose que la réponse d'Andrew, mais évite d'utiliser Windows Management Console (passe directement à l'importation/exportation).

21
kingPuppy
openssl rsa -in f.pem -inform PEM -out f.der -outform DER
0
null