Convierte .pfx a .cer

¿Es posible convertir un archivo .pfx (Intercambio de información personal) en un archivo .cer (Certificado de seguridad)? A menos que esté equivocado, ¿no es un .cer de alguna manera incrustado dentro de un .pfx? Me gustaría alguna forma de extraerlo, si es posible.

la manera más simple que creo es importarlo y luego exportarlo, usando el administrador de certificados en Windows Management Console.

Los archivos PFX son paquetes estándar de syntax de intercambio de información personal PKCS # 12 . Pueden incluir un número arbitrario de claves privadas con los certificados X.509 adjuntos y una cadena de autoridad de certificación (establecer certificados).

Si desea extraer certificados de cliente, puede usar la herramienta PKCS12 de OpenSSL .

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

El comando anterior arrojará certificado (s) en formato PEM. La extensión de archivo “.crt” es manejada tanto por macOS como por Windows.

Menciona la extensión “.cer” en la pregunta que se usa convencionalmente para los archivos codificados DER. Una encoding binart. Primero pruebe el archivo “.crt” y si no es aceptado, fácil de convertir de PEM a DER:

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

Si está trabajando en PowerShell, puede usar algo como lo siguiente, dado un archivo pfx InputBundle.pfx , para producir un archivo de certificado DER (binario) OutputCert.der :

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

Se agregó Newline para mayor claridad, pero por supuesto puede tener todo esto en una sola línea.

Si necesita el certificado en formato PEM codificado en ASCII / Base64, puede realizar pasos adicionales para hacerlo tal como se documenta en otra parte, como aquí: https://superuser.com/questions/351548/windows-integrated-utility-to-convert -der-to-pem

Si necesita exportar a un formato diferente al DER codificado, puede cambiar el parámetro -Type para Export-Certificate para usar los tipos soportados por .NET, como se ve en help Export-Certificate -Detailed :

 -Type  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. 

Quería agregar un método que creo que era el más simple de todos.

  1. Simplemente haga clic derecho en el archivo pfx, haga clic en “Instalar”, siga el asistente y agréguelo a una tienda (lo agregué a la tienda Personal).

  2. En el menú de inicio, escriba certmgr.msc y vaya al progtwig CertManager.

  3. Encuentre su certificado pfx (las tabs en la parte superior son las diferentes tiendas), haga clic en el botón exportar y siga el asistente (hay una opción para exportar como .CER)

Básicamente, hace lo mismo que la respuesta de Andrew, pero evita usar Windows Management Console (va directamente a la importación / exportación).

 openssl rsa -in f.pem -inform PEM -out f.der -outform DER