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 me sale un error
unable to load private key
¿Cómo extraigo el certificado en PEM de la tienda PKCS # 12 usando OpenSSL?
Respuestas:
Tratar:
Después de eso tienes:
Para colocar el certificado y la clave en el mismo archivo, use lo siguiente
Si necesita ingresar la contraseña PKCS # 12 directamente desde la línea de comando (por ejemplo, un script), simplemente agregue
-passin pass:${PASSWORD}
:fuente
openssl pkcs12 -in path.p12 -out newfile.pem
Solo necesita proporcionar una contraseña. Puede hacerlo dentro de la misma línea de comando con la siguiente sintaxis:
Luego se le pedirá una contraseña para cifrar la clave privada en su archivo de salida. Incluya la opción "nodos" en la línea anterior si desea exportar la clave privada sin cifrar (texto sin formato):
Más información: http://www.openssl.org/docs/apps/pkcs12.html
fuente
Si puede usar Python, es aún más fácil si tiene el
pyopenssl
módulo. Aquí está:fuente
file
y noopen
? Solo quiero entenderlo, ya que loopen("push.p12", 'rb').read()
.with open("push.pem", "wb") as fobj: fobj.write(crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate()))
para escribir el certificado ywith open("push.key", "wb") as fobj: fobj.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()))
la clave.Tenía un archivo PFX y necesitaba crear un archivo KEY para NGINX, así que hice esto:
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.fuente
Si necesita un archivo PEM sin contraseña, puede usar esta solución.
Simplemente copie y pegue la clave privada y el certificado en el mismo archivo y guárdelo como .pem.
El archivo se verá así:
Esa es la única forma en que encontré cargar certificados a dispositivos Cisco para HTTPS.
fuente