web-dev-qa-db-ja.com

すべての証明書チェーンを含むP7bファイルをCERファイルにエクスポートします

Thwateが提供するp7bファイルがあります。次のコマンドを使用してcerファイルの証明書をエクスポートしようとすると、証明書チェーンが含まれません。
同じ方法を提案してください。このCERは、weblogicキーストアへのインポートに必要です。

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
31
Kunal Jha

-print_certsは、p7bファイル内のすべての証明書をリストするために使用するオプションです。読み取り中のp7bファイルの形式を指定する必要がある場合があります。

その後、出力を新しいファイルにリダイレクトして、証明書の連結リストを作成できます。

テキストエディターでファイルを開くと、Base64(PEM)またはバイナリデータ(DER)が表示されます。

openssl pkcs7 -inform DER -outform PEM -in certificate.p7b -print_certs > certificate_bundle.cer

http://www.openssl.org/docs/apps/pkcs7.html

49
bcarroll

選択した答えは私にはうまくいきませんでしたが、近いです。自分に合ったチュートリアルと、StartComから取得した証明書を見つけました。

  1. テキストエディタで.p7bを開きます。
  2. ファイルが次のようになるように、リーダーとトレーラーを変更します。

    -----BEGIN PKCS7-----
    [... certificate content here ...]
    -----END PKCS7-----
    

たとえば、StartCom証明書は次の文字で始まりました。

    -----BEGIN CERTIFICATE----- 

で終わりました:

    -----END CERTIFICATE----- 
  1. .p7bを保存して閉じます。
  2. 次のOpenSSLコマンドを実行します(この記事の執筆時点ではUbuntu 14.04.4で動作します)。

    openssl pkcs7 -print_certs –in pkcs7.p7b -out pem.cer
    

出力は、証明書チェーンを持つ.cerです。

参照: http://www.freetutorialssubmit.com/extract-certificates-from-P7B/2206

6
fundatillus

唯一の問題は、ツールがPEM/DERでエンコードされたファイルごとに複数の証明書を期待しないため、結果ファイルに追加の証明書が認識されないことです。 openssl自体ですら。試して

openssl x509 -outform DER -in certificate.cer | openssl x509 -inform DER -outform PEM

自分で見てください。

4
AnrDaemon

ファイルから証明書を抽出する際にも同様の問題がありました。これは最も良い方法ではないかもしれませんが、私にとってはうまくいきました。

openssl pkcs7 -inform DER -print_certs -in <path of the file> | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
1
Magnus

コマンドラインに-chainを追加すると、チェーンされた証明書がすべてエクスポートされます。

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

0
Master G