pfx形式をp12に変換する


119

.pfx別のアプリケーションで使用するために、フォーマット証明書(windows mmcから)を.p12 にエクスポートする必要があります。これを行う方法が見つかりません。誰かが方法を提案できますか?

回答:


202

.p12.pfxPKCS#12ファイルの両方です。何か不足していますか?

エクスポートした.pfxファイルの名前を変更して、.p12拡張子を付けましたか?


9
それらが実際に同じものである場合、それらが2つの異なるファイル拡張子である理由を不思議に思います。
BrainSlugs83 14

29
2つのファイル拡張子がある理由は歴史的なものです。PFXはMicrosoftの拡張機能であり、P12はNetscapeの拡張機能です。現在、両方の形式が同一になるように調整されています。つまり、開発者は.NET System.Security.Cryptography.X509Certificates名前空間を使用して、両方の形式で作業できます。詳細はこちらをご覧ください。
SnapShot 2014年

6
PKCS#12ファイルのファイル名拡張子は、「。p12」または「.pfx」です。マイクロソフトの「PFX」は、最も複雑な暗号プロトコルの1つであるという厳しい批判を受けています。PKCS#12は、Microsoftの「PFX」の後継です。PKCS#12は、RSA Laboratoriesによって公開された公開鍵暗号化標準(PKCS)と呼ばれる標準ファミリの1つです。
AKS

1
名前の変更は常に機能するとは限りません。たとえば、SoapUIを使用して双方向認証をテストすると、失敗します。p12とpfxには、NetscapeとIEまでの歴史があります。それらはほぼ同じですが、同一のファイルではありません。したがって、拡張機能に関係なく両方を理解できるアプリもあれば、SoapUIなどの100%互換の有効なp12が必要なアプリもあります
M.Hefny

10

openconnectで.pfxファイルに問題が発生しました。名前を変更しても問題は解決しませんでした。私はそれを.p12に変換するためにkeytoolを使用し、それは機能しました。

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

私の場合、新しいファイル(new.p12)のパスワードは、.pfxファイルのパスワードと同じである必要がありました。


2
両方に同じパスワードを使用しても機能しません。エラー「keytool error:java.io.IOException:Invalid keystore format」
John Smith

5

UIを使用した迅速かつ手動のプロセスを探している場合。PFXからP12への変換には、常にMozilla Firefoxを使用しています。まず、Firefoxブラウザーに証明書をインポートします([オプション]> [プライバシーとセキュリティ]> [証明書の表示...]> [インポート...])。インストールしたら、エクスポートを実行して、証明書マネージャーから証明書名を選択し、[バックアップ...]をクリックしてファイル名を入力し、パスワードを入力して、P12ファイルを作成します。


4

これはjglouieの応答の続きです。

opensslを使用してPKCS#12証明書を公開/秘密PEMキーに変換する場合、ファイルの名前を変更する必要はありません。ファイルの名前がcert.pfxであるとすると、次の3つのコマンドにより、公開PEMキーと暗号化された秘密PEMキーが作成されます。

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

最初の2つのコマンドは、インポートパスワードを要求する場合があります。これは、PKCS#12ファイルで提供されたパスワードになります。

3番目のコマンドでは、証明書の暗号化パスフレーズを指定できます。これは、証明書を使用するときに入力するものです。


最初のコマンドは2番目のコマンドを上書きするので、おそらくステップ2と3を実行するだけです。読者のために、Des3は秘密鍵のデフォルトの暗号化です。
goodguys_activate 2018年

1

このコマンドを実行して、.certファイルを次のように変更します.p12

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

どこserver.keyのサーバーの鍵であるとserver.certCA発行証明書または自己署名証明書ファイルです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.