将包含所有证书链的P7b文件导出到CER文件中

时间:2011-06-02 07:16:27

标签: openssl certificate x509certificate

我有Thwate提供的p7b文件。当我尝试使用以下命令在cer文件中导出证书时,不包括证书链。
请建议如何做同样的事情。导入到weblogic密钥库时需要此CER。

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

5 个答案:

答案 0 :(得分:47)

-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

答案 1 :(得分:6)

选择的答案对我没有用,但它已经接近了。我找到了一个适合我的教程和我从StartCom获得的证书。

  1. 在文本编辑器中打开.p7b。
  2. 更改领导者和预告片,使文件看起来与此类似:

    -----BEGIN PKCS7-----
    [... certificate content here ...]
    -----END PKCS7-----
    
  3. 例如,我的StartCom证书以:

    开头
        -----BEGIN CERTIFICATE----- 
    

    并以:

    结束
        -----END CERTIFICATE----- 
    
    1. 保存并关闭.p7b。
    2. 运行以下OpenSSL命令(在撰写本文时适用于Ubuntu 14.04.4):

      openssl pkcs7 -print_certs –in pkcs7.p7b -out pem.cer
      
    3. 输出是带有证书链的.cer。

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

答案 2 :(得分:4)

唯一的问题是,无法识别结果文件中的任何其他证书,因为工具不希望每个PEM / DER编码文件有多个证书。 甚至openssl本身。 尝试

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

亲眼看看。

答案 3 :(得分:1)

我有从文件中提取证书的类似问题。这可能不是最好的方法,但它对我有用。

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"}'

答案 4 :(得分:0)

如果在命令行中添加-chain,它将导出任何链式证书。

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