2012-09-14 12 views
9

Próbuję uzyskać prywatny klucz RSA z pliku pkcs # 12.Tworzenie klucza prywatnego RSA z pliku PFX (PKCS # 12)

Próbowałem uruchomiony średnia

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

Jednak prowadzi to do pliku klucza jak poniżej:

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

Serwer że muszę umieścić go w canot obsługiwać klucz plik, a kiedy patrzę na dane przykłady widzę plik jak poniżej

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

a przyczyny kluczem jest pr esent w obu plikach. Wygląda jednak na to, że serwer zaakceptuje tylko plik klucza prywatnego RSA i wydaje mi się, że to, co otrzymam, to plik X509v3, czy ktoś wie, jak to zrobić w pliku klucza prywatnego RSA?

+1

spróbuj dodać * -nodes * after * -nocerts *, aby utworzyć niezaszyfrowany klucz prywatny –

+0

Dzięki. Próbowałem tego również, ale nie mogę usunąć hasła z wyjściowego pemfile i to nadal pozostawia mnie z plikiem X509v3 – Dorana

Odpowiedz

16

Cóż - używanie edytora tekstowego do usuwania linii naruszających prawa może być najłatwiejsze. Inaczej poniżej oczyścić atrybuty opakowaniu:

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

i może być również używany do dostać der/net

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

, które mogą być w rzeczywistości format chcesz. Dość często zdarza się, że narzędzia nie akceptują hasła bez klucza prywatnego (a wiele narzędzi po cichu zawiedzie, jeśli liczba znaków nie wynosi co najmniej 4 lub 6). Tak więc w tych przypadkach zmianę tailend do:

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

na Windows 7 64bit, można po prostu użyć swój command.But w Mac i Linux, należy wykonać następujące kroki:

1, stwórz PEM plik:
openssl pkcs12 -in xxx.pfx wymeldowanie xxx.pem

2, stworzyć swój prywatny klucz rSA:
openssl pkcs12 -in xxx.pfx -passin pass: TWOJEHAS | openssl rsa -des3 -passout pass: yourpassowrd wymeldowanie xxx.key

ten krok utworzy plik klucza z conten:” ----- BEGIN RSA PRIVATE KEY ----- Proc-Type: 4, Encrypted DEK-Info: DES-CBC-EDE3, 2CF27DD60B8BB3FF "

3, otwórz .pem i .key plik w edytorze tekstu i zastąpić klucz pochodzenia" ----- BEGIN ENCRYPTED PRYWATNA KEY ----- "w pliku .pem z kluczem rsa w pliku .key.

Powiązane problemy