convertir el formato pfx a p12


119

Necesito exportar un .pfxcertificado de formato (de windows mmc) a .p12 para usarlo en otra aplicación. No puedo encontrar una manera de hacer esto. ¿Alguien puede sugerir un método?

Respuestas:


202

.p12y .pfxambos son archivos PKCS # 12. ¿Me estoy perdiendo de algo?

¿Ha intentado cambiar el nombre del .pfxarchivo exportado para que tenga una .p12extensión?


9
Hace que te preguntes por qué son dos extensiones de archivo diferentes si en realidad son lo mismo bajo el capó.
BrainSlugs83

29
La razón por la que hay dos extensiones de archivo es histórica. PFX era una extensión de Microsoft, mientras que P12 era la de Netscape. Ambos formatos se han adaptado ahora para que sean idénticos, lo que significa que los desarrolladores pueden usar el espacio de nombres .NET System.Security.Cryptography.X509Certificates para trabajar con ambos. Consulte aquí para obtener más información.
Instantánea

6
La extensión del nombre de archivo para los archivos PKCS # 12 es ".p12" o ".pfx". El "PFX" de Microsoft ha recibido fuertes críticas por ser uno de los protocolos criptográficos más complejos. PKCS # 12 es el sucesor del "PFX" de Microsoft. PKCS # 12 pertenece a la familia de estándares denominados Estándares de criptografía de clave pública (PKCS) publicados por RSA Laboratories.
AKS

1
el cambio de nombre no siempre funciona porque. por ejemplo, si usa SoapUI y lo prueba con una autenticación bidireccional, falla. p12 y pfx tienen un historial de Netscape e IE. son CASI los mismos pero no archivos idénticos. por lo que algunas aplicaciones pueden entender tanto independientemente de la extensión y otras necesitan un p12 válido 100% compatible como SoapUI
M.Hefny

10

Tuve problemas con un archivo .pfx con openconnect. Cambiar el nombre no resolvió el problema. Usé keytool para convertirlo a .p12 y funcionó.

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

En mi caso, la contraseña para el nuevo archivo (new.p12) tenía que ser la misma que la contraseña para el archivo .pfx.


2
No funcionó, incluso si he usado la misma contraseña para ambos. obtuve el error "error de keytool: java.io.IOException: formato de almacén de claves no válido"
John Smith

5

Si está buscando un proceso rápido y manual con UI. Siempre uso Mozilla Firefox para convertir de PFX a P12. Primero importe el certificado en el navegador Firefox (Opciones> Privacidad y seguridad> Ver certificados ...> Importar ...). Una vez instalado, realice la exportación para crear el archivo P12 eligiendo el nombre del certificado en el Administrador de certificados y luego haga clic en Copia de seguridad ... e ingrese el nombre del archivo y luego ingrese la contraseña.


4

Esto es más una continuación de la respuesta de jglouie.

Si está utilizando openssl para convertir el certificado PKCS # 12 en claves PEM públicas / privadas, no es necesario cambiar el nombre del archivo. Suponiendo que el archivo se llama cert.pfx, los siguientes tres comandos crearán una clave pem pública y una clave pem privada cifrada:

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

Los dos primeros comandos pueden solicitar una contraseña de importación. Esta será una contraseña que se proporcionó con el archivo PKCS # 12.

El tercer comando le permitirá especificar la contraseña de cifrado para el certificado. Esto es lo que ingresará cuando use el certificado.


El primer comando sobrescribe al segundo, así que quizás solo realice los pasos 2 y 3. Para su información, para los lectores, Des3 es el cifrado predeterminado para la clave privada.
goodguys_activate

1

Ejecute este comando para cambiar el .certarchivo a .p12:

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

¿Dónde server.keyestá la clave del servidor y server.certes un certificado de emisión de CA o un archivo de certificado autofirmado?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.