2012-09-14 11 views
9

pkcs#12ファイルからプライベートRSA鍵を取得しようとしています。PFX(PKCS#12)ファイルからRSA秘密鍵を作成する

私が実行してみた標準

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

しかし、これは以下のようなキーファイルになり:

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

私は鍵を扱うcanotにそれを配置する必要があり、サーバファイルを表示し、サンプルデータを見ると、次のようなファイルが表示されます

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

そして原因はキーです両方のファイルでesent。 しかし、それはサーバーがRSAプライベートキーファイルだけを受け入れるようですが、私にはX509v3ファイルの出力があるようですが、これをRSAプライベートキーファイルにする方法はわかりますか?

+1

* -nocerts *の後に* -nodes *を追加して暗号化されていない秘密鍵を作成してみてください –

+0

ありがとうございました。これも試してみましたが、出力のpemfileからパスワードを削除することはできません。これでもX509v3ファイルが残っています – Dorana

答えて

16

テキストエディタを使用して問題のある行を削除するのが最も簡単です。それ以外の場合は、以下のバッグの属性をクリーンアップします。

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

ともネットDER/

実際にあなたが望む形式かもしれ
openssl pkcs12 -in x-fred.p12 -nocerts -nodes -passin pass: | openssl rsa -outform DER -out privkey.der 

を取得するために使用することができます。しかし、ツールではパスワードの非公開鍵を受け入れないのが一般的です(また、文字数が4または6以上でないと多くのツールが黙って失敗します)。だから、これらの例ににテールエンドを変更:Windows 7の64ビット版で

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

、あなたは、単にあなたのMacでcommand.ButとLinuxを使用することができ、次の手順実行する必要があります。

1を、あなたのPEMを作成ファイル:
のopensslのpkcs12 -in xxx.pfx -out xxx.pem

2、あなたのRSA秘密鍵の作成:
のopensslのpkcs12 -in xxx.pfx -passin渡す:あなたのパスワードを| opensslのRSA -des3 -passout渡す:yourpassowrd -out xxx.key

をこのステップはcontenとキーファイルが作成されます:」 は----- RSA PRIVATE KEY ----- PROC-タイプBEGIN: 4、ENCRYPTED DEK-情報:DES-EDE3-CBC、2CF27DD60B8BB3FFは "

3、テキストエディタでの.pemと.KEYファイルを開き、元のキーを交換する" ----- PRIVATE ENCRYPTED BEGIN .keyファイルのrsaキーを使用して.pemファイル 内の「KEY -----」を選択します。

関連する問題