pkcs partir p7b generar descargar crear convertir comandos certificado openssl command pkcs#12
openssl-for-windows en Google Code

openssl - partir - descargar certificado pkcs#12



Convertir el certificado PKCS#12 en PEM usando OpenSSL (5)

Esto funcionará con un archivo .pem que tenga una clave privada y un certificado en el mismo archivo (lo intenté con el certificado de Apple Push Notification)

( PushNotif.pem contiene clave privada y cert en un archivo)

$ openssl pkcs12 -export -en PushNotif.pem -inkey PushNotif.pem -out PushNotif.p12
Ingrese la frase de contraseña para PushNotif.pem:
Ingrese la contraseña de exportación:
Verificación: ingrese la contraseña de exportación:

Una vez que ingrese su contraseña, estará listo.

Tengo OpenSSL x64 en Windows 7 que descargué de openssl-for-windows en Google Code . Estoy intentando correr:

openssl pkcs12 -export -in "path.p12" -out "newfile.pem"

pero obtengo un error

unable to load private key

¿Cómo extraigo el certificado en PEM desde la tienda PKCS # 12 usando OpenSSL?


Si puede usar Python, es aún más fácil si tiene el módulo pyopenssl . Aquí está:

from OpenSSL import crypto # May require "" for empty password depending on version with open("push.p12", "rb") as file: p12 = crypto.load_pkcs12(file.read(), "my_passphrase") # PEM formatted private key print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()) # PEM formatted certificate print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())


Solo necesita proporcionar una contraseña. Puede hacerlo dentro de la misma línea de comando con la siguiente sintaxis:

openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password]

Luego se le pedirá una contraseña para encriptar la clave privada en su archivo de salida. Incluya la opción "nodos" en la línea superior si desea exportar la clave privada sin cifrar (texto sin formato):

openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password] -nodes

Más información: http://www.openssl.org/docs/apps/pkcs12.html


Tenía un archivo PFX y necesitaba crear el archivo KEY para NGINX, así que hice esto:

openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes

Luego tuve que editar el archivo KEY y eliminar todo el contenido hasta -----BEGIN PRIVATE KEY----- . Después de eso, NGINX aceptó el archivo KEY.


Tratar:

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes

Después de eso tienes:

  • certificado en newfile.crt.pem
  • clave privada en newfile.key.pem

Para poner el certificado y la clave en el mismo archivo, use la siguiente

openssl pkcs12 -in path.p12 -out newfile.pem

Si necesita ingresar la contraseña de PKCS # 12 directamente desde la línea de comando (por ejemplo, una secuencia de comandos), solo agregue -passin pass:${PASSWORD} :

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys -passin ''pass:P@s5w0rD''