279

Google Code の openssl-for-windowsからダウンロードした Windows 7 に OpenSSL x64 があります。私は実行しようとしています:

openssl pkcs12 -export -in "path.p12" -out "newfile.pem" 

しかし、私はエラーが発生します。

unable to load private key

OpenSSL を使用して PKCS#12 ストアから PEM の証明書を抽出するにはどうすればよいですか?

4

6 に答える 6

687

試す:

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes

その後、次のようになります。

  • newfile.crt.pem の証明書
  • newfile.key.pem の秘密鍵

証明書と鍵をパスワードなしで同じファイルに入れるには、以下を使用します。パスワードが空の場合、鍵はエクスポートされません。

openssl pkcs12 -in path.p12 -out newfile.pem -nodes

または、秘密鍵のパスワードを指定する場合は、パスワードを省略-nodesして入力します。

openssl pkcs12 -in path.p12 -out newfile.pem

コマンド ライン (スクリプトなど) から直接 PKCS#12 パスワードを入力する必要がある場合は、次のように追加し-passin pass:${PASSWORD}ます。

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys -passin 'pass:P@s5w0rD'
于 2013-02-28T20:00:36.847 に答える
23

パスワードを入力するだけです。次の構文を使用して、同じコマンドライン内で実行できます。

openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password]

次に、出力ファイルの秘密鍵を暗号化するためのパスワードを求めるプロンプトが表示されます。暗号化されていない (平文の) 秘密鍵をエクスポートする場合は、上記の行に「nodes」オプションを含めます。

openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password] -nodes

詳細: http://www.openssl.org/docs/apps/pkcs12.html

于 2013-07-23T20:21:26.383 に答える
3

PFX ファイルがあり、NGINX の KEY ファイルを作成する必要があったため、次のようにしました。

openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes

次に、KEY ファイルを編集して、 までのすべてのコンテンツを削除する必要がありました-----BEGIN PRIVATE KEY-----。その後、NGINX は KEY ファイルを受け入れました。

于 2016-09-15T12:55:22.160 に答える