2010-03-20 214 views
12

我在獨立的.pem文件中擁有公鑰和私鑰,我需要以某種方式進入JKS密鑰庫。將.pem公鑰和私鑰導入JKS密鑰庫

嘗試在KeyTool中使用-import命令進行此操作,該操作給出「不是X.509證書」錯誤。

我猜測解決方案與OpenSSL有關,但我不完全確定如何處理它。

真的很感謝任何幫助,因爲我完全不知道與密碼相關的所有東西。

由於提前, --Rolf

回答

3

密鑰工具預計DER格式的對象。 PEM是Base64編碼的DER,帶有頁眉和頁腳。 KeyTool無法解析PEM。

但是,OpenSSL可以將PEM對象轉換爲DER。例如,對於X.509證書,-outform DER命令行標誌指示OpenSSL使用DER作爲其輸出格式。

This page顯然包含一些更詳細的解釋。

+0

嗨,謝謝你的回答! 我設法將私鑰轉換爲DER與OpenSSL,但不是公鑰。 OpenSSL的X​​509 -in pubkey.pem -inform PEM退房手續pubkey.der -outform DER 導致以下錯誤: 無法加載證書 5280:錯誤:0906D06C:PEM套路:PEM_read_bio:無從下手一行: \ crypto \ pem \ pem_lib .c:642:預計:TRUSTED CERTIFICATE 我在猜測,它期望公鑰文件以「BEGIN TRUSTED CERTIFICATE」標頭開頭,但它實際上包含的是「BEGIN PUBLIC KEY 「 – Rolf 2010-03-20 23:07:35

+4

你有一個」唯一的公鑰「。你需要一個證書。 KeyTool遵循KeyStore格式,它只有在帶有證書的情況下才接受私鑰。證書包含公鑰以及其他信息,如身份(「密鑰所有者名稱」)和「證書頒發機構」的簽名。您可以使用私鑰來創建一個「自簽名證書」(簽名相對於密鑰本身來計算的證書);試試這個:'openssl req -new -x509 -key privkey.pem -out cert.pem' – 2010-03-21 14:00:43

+0

好吧,這讓我走上了正軌,謝謝! – Rolf 2010-03-22 14:46:34