2011-06-02 40 views
26

出口P7B文件我有Thwate.When我想導出使用下面的命令,在CER文件證書提供P7B文件,不包含證書鏈。
請建議如何做同樣的事情。此CER用於導入到weblogic密鑰庫中。與所有的證書鏈到CER文件

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

回答

38

-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

3

唯一的問題是,在導致文件中的任何其他證書將不被認可,因爲工具不指望每PEM/DER編碼的文件多張證書。 即使openssl本身。 嘗試

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

並親自看看。

+1

中間證書的連接列表對於使用SSLCACertificateFile配置參數執行X.509客戶機驗證的Apache httpd Web服務器很有用。 從apache httpd-ssl.conf文件中: 將CA證書驗證路徑設置爲在哪裏查找用於客戶端身份驗證的CA證書,或者包含所有這些文件的巨大文件(文件必須是PEM編碼) – bcarroll 2015-03-02 23:53:41

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

所選答案對我來說不起作用,但它很接近。我找到了適合我的教程和我從StartCom獲得的證書。

  1. 在文本編輯器中的.p7b。
  2. 更改片頭和片尾因此該文件類似於此:

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

例如,我StartCom證書開始:

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

,並與結束:

-----END CERTIFICATE----- 
  • 保存並關閉.p7b。
  • 運行以下的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

    +0

    必須執行此操作'keytool'識別證書。非常感謝! – adonese 2018-03-05 11:00:29

    相關問題