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.
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.
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
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.
Je voulais ajouter une méthode qui, à mon avis, était la plus simple.
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).
Dans le menu Démarrer, tapez certmgr.msc et accédez au programme CertManager.
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).
openssl rsa -in f.pem -inform PEM -out f.der -outform DER