2012-09-14 24 views
9

Estoy tratando de obtener una clave RSA privada de un archivo pkcs # 12.Creación de clave privada RSA a partir del archivo PFX (PKCS # 12)

He intentado correr el estándar

openssl pkcs12 -nocerts -out priv.pem -in domain.com.pfx 

Sin embargo, esto se traduce en un archivo de clave como la siguiente:

Bag Attributes 
Microsoft Local Key set: <No Values> 
localKeyID: 01 00 00 00 
friendlyName: xxxxxxxx 
Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider 
Key Attributes 
X509v3 Key Usage: 10 
-----BEGIN ENCRYPTED PRIVATE KEY----- 

El servidor que tengo que ponerlo en canot manejar la llave archivo, y cuando miro los datos de los ejemplos veo un archivo como el siguiente

-----BEGIN RSA PRIVATE KEY----- 
Proc-Type: 4,ENCRYPTED 
DEK-Info: DES-EDE3-CBC,2CF27DD60B8BB3FF 

Y de causa la clave es pr esent en ambos archivos. Sin embargo, parece que el servidor solo aceptará el archivo de clave privada RSA, y me parece que la salida que recibo es un archivo X509v3, ¿alguien sabe cómo obtener esto en un archivo de clave privada RSA?

+1

intente agregar * -nodes * después de * -nocerts * para crear una clave privada no cifrada –

+0

Gracias. Intenté esto también, pero no puedo eliminar la contraseña del archivo de salida de pem y esto todavía me deja con el archivo X509v3 – Dorana

Respuesta

16

Bien - el uso de un editor de texto para eliminar las líneas ofensivas puede ser más fácil. Lo contrario a continuación va a limpiar los atributos de bolsa:

openssl pkcs12 -in x.pfx -nocerts -nodes -passin pass:123456 | openssl rsa -out privkey.pem 

y también puede ser utilizado para obtener der/net

openssl pkcs12 -in x-fred.p12 -nocerts -nodes -passin pass: | openssl rsa -outform DER -out privkey.der 

que puede ser, de hecho, el formato que desee. Sin embargo, es bastante común que las herramientas no acepten una clave privada con menos contraseña (y muchas herramientas fallan silenciosamente si el número de caracteres no es al menos 4 o 6). Por lo que en esos casos cambiar el tailend a:

.... | openssl rsa -passout pass:123456 -out privkey.pem 
.... | openssl rsa -passout pass:123456 -out privkey.der -outform der 
0

en Windows 7 de 64 bits, sólo puede usar su command.But en Mac y Linux, usted debe hacer los pasos siguientes:

1, crear su pem archivo:
openssl pkcs12 -en xxx.pfx salida privado xxx.pem

2, crear su clave privada RSA:
openssl pkcs12 -en xxx.pfx -passin pasar: sucontraseña | openssl rsa -des3 -passout pasar: yourpassowrd salida privado xxx.key

este paso va a crear el archivo de claves con la conten:" ----- BEGIN RSA PRIVATE KEY ----- Proc-Type: 4, ENCRYPTED DEK-Info: DES-CBC-EDE3, 2CF27DD60B8BB3FF "

3, abra su .pem y el archivo .key en un editor de texto y sustituir la clave de origen" ----- BEGIN ENCRYPTED PRIVADO KEY ----- "en el archivo .pem con la tecla rsa en el archivo .key.

Cuestiones relacionadas