Certificate

將 PEM 證書鍊和密鑰導入 Java Keystore

  • May 25, 2016

關於這個主題有很多資源,但我沒有找到涵蓋這種稍微特殊的情況。

我有 4 個文件;

  • 私鑰.pem
  • 證書.pem
  • middle_rapidssl.pem
  • ca_geotrust_global.pem

我希望將它們導入一個新的密鑰庫。

有些網站建議使用DER格式,並一一導入,但由於無法辨識密鑰而失敗。

另一個站點建議執行一個特殊的“ImportKey”類來執行導入,直到我看到鏈被破壞為止。即證書上的鍊長為1,忽略中間和ca。

一些網站建議使用 PKCS7,但我什至無法從中獲得鏈。其他人建議使用 PKCS12 格式,但就我的測試而言,這對於獲取整個鏈也失敗了。

非常歡迎任何建議或提示。

這可能並不完美,但我有一些關於我keytool為您的場景修改過的使用說明。

  1. 將根或中間 CA 證書導入現有 Java 密鑰庫:
keytool -import -trustcacerts -alias root -file ca_geotrust_global.pem -keystore yourkeystore.jks
keytool -import -trustcacerts -alias root -file intermediate_rapidssl.pem -keystore yourkeystore.jks 
  1. 導入前將證書和私鑰合併到一個文件中。
cat certificate.pem privatekey.pem > combined.pem

這應該會生成類似於以下格式的文件。

BEGIN CERTIFICATE

END CERTIFICATE

BEGIN RSA PRIVATE KEY

END RSA PRIVATE KEY

  1. 將簽名的主證書和密鑰導入現有的 Java 密鑰庫:
keytool -import -trustcacerts -alias yourdomain -file combined.pem -keystore yourkeystore.jks

引用自:https://serverfault.com/questions/483465