security - from - pem to crt
Convierte.pfx a.cer (5)
¿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.
Los archivos PFX son paquetes estándar de sintaxis 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 codificación 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
Quería agregar un método que creo que era el más simple de todos.
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).
En el menú de inicio, escriba certmgr.msc y vaya al programa CertManager.
Encuentre su certificado pfx (las pestañas 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).
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 <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.
la manera más simple que creo es importarlo y luego exportarlo, usando el administrador de certificados en Windows Management Console.
openssl rsa -in f.pem -inform PEM -out f.der -outform DER