2011-07-25 78 views
72

別のアプリケーションで使用するには、.pfx形式証明書(Windows mmcから)を.p12にエクスポートする必要があります。私はこれを行う方法を見つけることができません。誰かが方法を提案できますか?pfx形式をp12に変換する

答えて

133

.p12および.pfxは両方ともPKCS#12ファイルです。何か不足していますか?

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

+7

2つの異なるファイル拡張子である理由がわかります – BrainSlugs83

+13

ファイル拡張子が2つある理由は履歴です。 PFXはMicrosoftの拡張で、P12はNetscapeの拡張でした。 両方の形式が同一になるように修正されました。つまり、開発者は.NET System.Security.Cryptography.X509Certificates名前空間を使用して両方を処理できます。詳細については、[here](https://embeddedtechwire.wordpress.com/2010/09/23/pfx-or-p12-certificates-what-is-the-difference/)を参照してください。 – SnapShot

+3

PKCS#12ファイルのファイル拡張子は ".p12"または ".pfx"です。マイクロソフトの「PFX」は、最も複雑な暗号プロトコルの1つであるという強い批判を受けています。 PKCS#12はMicrosoftの「PFX」の後継バージョンです。 PKCS#12は、RSAラボラトリーズが公開している公開鍵暗号標準(PKCS)という標準ファミリの1つです。 – AKS

4

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

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

私の場合、新しいファイル(new.p12)のパスワードは、.pfxファイルのパスワードと同じでなければなりません。

+0

私は両方に同じパスワードを使用していても機能しません。エラーが発生しました "keytoolエラー:java.io.IOException:無効なキーストア形式" –

+0

これは私のために働いています。 –

0

実行.p12から.certファイルを変更するには、このコマンド:

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

server.keyはサーバーキーとserver.certがCA発行証明書または自己署名証明書ファイルです。

1

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

opensslを使用してPKCS#12証明書をパブリック/プライベートPEMキーに変換する場合は、ファイルの名前を変更する必要はありません。以下の3つのコマンドは、公開PEMキーと暗号化されたプライベートPEMキーを作成しますが、ファイルはcert.pfxと呼ばれていると仮定:

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