.pfx(個人情報交換)ファイルを.cer(セキュリティ証明書)ファイルに変換することはできますか?誤解しない限り、.cerは何らかの方法で.pfxに埋め込まれていませんか?可能であれば、何らかの方法でそれを抽出したいと思います。
私が信じる簡単な方法は、Windows管理コンソールの証明書マネージャーを使用して、インポートしてからエクスポートすることです。
PFXファイルは PKCS#12個人情報交換構文標準 バンドルです。 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
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
に示されているように、.NETでサポートされているタイプを使用するようにExport-Certificateの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.
最も簡単だと思う方法を追加したかったのです。
Pfxファイルを右クリックし、ウィザードに従って[インストール]をクリックして、ストアに追加します(個人用ストアに追加しました)。
[スタート]メニューで「certmgr.msc」と入力し、CertManagerプログラムに移動します。
PFX証明書を見つけ(上部のタブはさまざまなストアです)、エクスポートボタンをクリックしてウィザードに従います(.CERとしてエクスポートするオプションがあります)
本質的にはAndrewの答えと同じことをしますが、Windows管理コンソールの使用を回避します(インポート/エクスポートに直接進みます)。
openssl rsa -in f.pem -inform PEM -out f.der -outform DER