19

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

それを配置する必要があるサーバーはキーファイルを処理できません。サンプルデータを見ると、次のようなファイルが表示されます

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

そして当然のことながら、キーは両方のファイルに存在します。ただし、サーバーは RSA 秘密鍵ファイルのみを受け入れるようです。出力は X509v3 ファイルのように思われます。これを RSA 秘密鍵ファイルに取得する方法を知っている人はいますか?

4

3 に答える 3

32

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

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

また、der/net を取得するためにも使用できます

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

これは、実際に必要な形式である可能性があります。ただし、ツールがパスワードなしの秘密鍵を受け入れないことはかなり一般的です (そして、文字数が少なくとも 4 または 6 でない場合、多くのツールは黙って失敗します)。そのような場合、tailend を次のように変更します。

.... | openssl rsa -passout pass:123456 -out privkey.pem
.... | openssl rsa -passout pass:123456 -out privkey.der -outform der
于 2012-09-14T11:22:33.053 に答える
1

Windows 7 64 ビットでは、コマンドを使用するだけで済みますが、Mac および Linux では、次の手順を実行する必要があります。

1、pem ファイルを作成します:
openssl pkcs12 -in xxx.pfx -out xxx.pem

2、rsa 秘密鍵を作成します:
openssl pkcs12 -in xxx.pfx -passin pass:yourpassword | openssl rsa -des3 -passout pass:yourpassowrd -out xxx.key

この手順では、内容を含むキー ファイルを作成します:" -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,2CF27DD60B8BB3FF"

3. .pem ファイルと .key ファイルをテキスト エディターで開き、.pem ファイルの元のキー "-----BEGIN ENCRYPTED PRIVATE KEY-----" を .key ファイルの rsa キーに置き換えます。 .

于 2013-12-19T09:43:38.950 に答える