簡體   English   中英

keytool:從多個.cer文件導入證書鏈

[英]keytool: import certificate chain from several .cer files

我們的IT部門給了我4個.cer文件,這些文件構成證書鏈:thawte_root.cer-> intermediate1_pem.cer-> intermediate2_pem.cer-> our_company.cer。

我需要使用our_company.cer簽名一些代碼(通過jarsigner)。

因此,我必須創建一個密鑰庫,其中包含our_company.cer和根目錄鏈接。

我嘗試使用記事本將這4個文件簡單地連接成一個文件,然后導入結果文件,但是keystore僅導入第一個文件,當我嘗試啟動jarsigner時,我得到了

"jarsigner: Certificate chain not found for: our_company. our_company must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain."

當我僅導入our_company.cer或一一導入每個證書時,會收到相同的消息。

所以問題是:如何將4個證書作為一個鏈導入?

提前致謝。 維塔利。

  1. 將所有證書鏈接到一個文件中(順序是從根到子)
    cat intermediate2_pem.cer intermediate1_pem.cer thawte_root.cer > chain.cer
  2. 運行以下openssl命令
    openssl pkcs12 -export -in our_company.cer -inkey private.key -out company.p12 -name company -CAfile chain.pem -caname sub2 -caname sub1 -caname root -chain
  3. 創建密鑰庫
    keytool -importkeystore -destkeystore company.keystore -srckeystore company.p12 -srcstoretype PKCS12 -alias company

您的密鑰庫將准備就緒(在所有情況下選擇密碼並鍵入)。 您還需要准備好private.key

有關更多詳細信息,請參見此鏈接

您可能知道,代碼簽名使用公鑰加密來工作 要對代碼進行簽名,您需要有一個私鑰,而想要使用您的代碼的客戶必須信任相應的公鑰。

您擁有的CER文件是與公鑰相對應的證書文件。 當使用keytool -importcert導入它們而沒有相應的私鑰時,它們將作為受信任的證書導入。 (有關更多詳細信息,請參見文檔 。根據系統設置,您可能不需要全部導入它們-例如,您可能已經信任Thawte證書。)

由於您想將代碼簽名為YourCompany,因此需要與our_company.cer對應的私鑰-我想您的IT部門可以提供此私鑰,因為它已被用來生成發送給Thawte的證書簽名請求。 如果他們不願意傳授這個給你,你需要生成自己的公鑰/私鑰對使用keytool -genkeypair ,生成一個CSR與keytool -certreq並將其發送給您的IT部門誰就能您頒發證書。 在這種情況下,最終的信任鏈將是thawte_root.cer-> intermediate1_pem.cer-> intermediate2_pem.cer-> our_company.cer-> your_department.cer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM