.pfxを.cerに変換する


155

.pfx(個人情報交換)ファイルを.cer(セキュリティ証明書)ファイルに変換できますか?誤解しない限り、.cerは.pfxの中に埋め込まれているのではないですか?可能であれば、何らかの方法で抽出したいのですが。

回答:


90

私が信じる最も簡単な方法は、Windows管理コンソールの証明書マネージャーを使用して、インポートしてからエクスポートすることです。


5
これを試みましたが、秘密キーのエクスポートを選択すると、.cer(DERエンコード)オプションが無効になります。とmidletsignerユーティリティはとにかくprovatekeyを必要とします。– Jigar
Joshi

3
それをインポートするとき、「このキーをエクスポート可能としてマークする」というボックスをチェックする必要があります
Andrew Cox

11
Windowsで証明書マネージャーにアクセス
James White

12
Windows証明書マネージャーを開く簡単な方法は、コマンドプロンプトで「certmgr.msc」と入力することです。
Jan Derk、2015

@AndrewCox、しかし、それをエクスポート可能としてマークすることとそうでないことの間には、舞台裏で何か違いがあります。それとも単にUIオプションですか?
Pacerier、2016年

212

PFXファイルは、PKCS#12 Personal Information Exchange Syntax Standardバンドルです。X.509証明書と認証局チェーン(証明書のセット)が付随する任意の数の秘密鍵を含めることができます。

クライアント証明書を抽出する場合は、OpenSSLのPKCS12ツールを使用できます

openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts

上記のコマンドは、PEM形式で証明書を出力します。「.crt」ファイル拡張子は、macOSとWindowの両方で処理されます。

DERでエンコードされたファイルに従来から使用されている「.cer」拡張子について質問します。バイナリエンコーディング。最初に「.crt」ファイルを試してください。受け入れられない場合は、PEMからDERに簡単に変換できます。

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer

9
コマンドを提供することに加えて、ファイルが何であるかを説明するための+1。
ジョシュアドレイク

「Mac検証エラー:パスワードが無効ですか?」やってみたら パスワードがわかりません。ベンダーから提供されたファイルを持っています。
Brian Knoblauch

1
「-nokeys」の削除は、証明書を秘密鍵で変換しようとするときに機能するようです。たとえば、Fiddlerで使用するために使用します
Gert van den Berg

@ Berk、OpenSSL以外に、Windows cmdはそれを行う方法を持っていますか?
Pacerier 2016年

45

PowerShellで作業している場合、pfxファイルInputBundle.pfxを指定して、次のようなものを使用して、DERエンコードされた(バイナリ)証明書ファイルOutputCert.derを生成できます。

Get-PfxCertificate -FilePath InputBundle.pfx | 
Export-Certificate -FilePath OutputCert.der -Type CERT

わかりやすくするために改行が追加されていますが、もちろんこれをすべて1行で記述できます。

ASCII / Base64でエンコードされたPEM形式の証明書が必要な場合は、https//superuser.com/questions/351548/windows-integrated-utility-to-convertなどの別の場所に記載されているように、追加の手順を実行できます。 -der-to-pem

DERエンコードとは異なるフォーマットにエクスポートする必要がある場合は-Type、Export-Certificateのパラメーターを変更して、.NETでサポートされているタイプを使用できますhelp Export-Certificate -Detailed

-Type <CertType>
    Specifies the type of output file for the certificate export as follows. 
     -- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates. 
     -- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate. 
     -- P7B: A PKCS#7 file format which can contain one or more certificates.

ただし、Export-Certificateは、Win 8.1やServer 2012 R2などの一部のバージョンでのみ使用できます。Win 7のような他のバージョンを使用している場合は、うまくいきません。
Deep-B

1
Server 2012およびWindows 8.0(technet.microsoft.com/en-us/library/hh848628 ( v=wps.620 ) .aspx)に存在する必要がありますが、Windows 7などについては良い点です!
Ian Gallagher

@IanGallagher、これはOpenSSLのオプションとどう違いますか?
Pacerier

これは、OpenSSLをインストールしたくない場合に便利です。
レオナルドエレーラ

25

最も簡単だと思うメソッドを追加したかったのです。

  1. pfxファイルを右クリックし、ウィザードに従って[インストール]をクリックし、ストアに追加します(個人ストアに追加しました)。

  2. スタートメニューで「certmgr.msc」と入力し、CertManagerプログラムに移動します。

  3. PFX証明書を見つけ(上部のタブはさまざまなストアです)、[エクスポート]ボタンをクリックしてウィザードに従います(.CERとしてエクスポートするオプションがあります)。

基本的に、Andrewの回答と同じことを行いますが、Windows管理コンソールの使用を回避します(インポート/エクスポートに直接移動します)。


certmgr.mscを開いてエクスポートする必要があるため、それほど高速ではありません...
Pacerier '19年

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