2012-09-14 14 views
9

Sto cercando di ottenere una chiave RSA privata da un file pkcs # 12.Creazione di chiave privata RSA da file PFX (PKCS # 12)

Ho provato a fare funzionare lo standard

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

Tuttavia questo si traduce in un file di chiave come quello qui sotto:

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----- 

Il server che ho bisogno di metterlo in canot gestire la chiave file, e quando guardo i dati degli esempi vedo un file come sotto

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

E di causa la chiave è pr esent in entrambi i file. Tuttavia sembra che il server accetterà solo il file di chiave privata RSA e mi sembra che l'output che ottengo sia un file X509v3, qualcuno sa come ottenere questo in un file di chiave privata RSA?

+1

provare ad aggiungere * -nodes * dopo * -nocerts * per creare una chiave privata non crittografata –

+0

Grazie. Ho provato anche questo, ma non riesco a rimuovere la password dal pemfile di output e questo mi lascia ancora con il file X509v3 – Dorana

risposta

16

Bene: l'uso di un editor di testo per rimuovere le righe incriminate potrebbe essere più semplice. In caso contrario, qui di seguito vi ripulire gli attributi borsa:

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

e può anche essere usato per ottenere der/net

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

che può essere di fatto il formato desiderato. È abbastanza comune per gli strumenti non accettare una password meno privata della chiave (e molti strumenti falliranno silenziosamente se il numero di caratteri non è almeno 4 o 6). Quindi, in questi casi cambiare il tailend a:

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

su Windows 7 a 64 bit, si può semplicemente utilizzare il command.But a Mac e Linux, si dovrebbe fare le seguenti operazioni:

1, creare il PEM File:
openssl pkcs12 -in xxx.pfx -out xxx.pem

2, creare la chiave privata RSA:
openssl pkcs12 -in xxx.pfx -passin passare: yourpassword | openssl rsa -des3 -passout passare: yourpassowrd -out xxx.key

questo passaggio verrà creato il file di chiave con il conten:" ----- BEGIN chiave privata RSA ----- Proc-Type: 4, cRIPTATO DEK-Info: DES-EDE3-CBC, 2CF27DD60B8BB3FF "

3, aprire il .pem e il file .key in un editor di testo, e sostituire la chiave origine" ----- BEGIN ENCRYPTED PRIVATA KEY ----- "nel file .pem con la chiave rsa nel file .key.

Problemi correlati