2013-02-26 84 views
1

我在如何導入.pem文件?

Jarsigner: certificate chain not found for

我的出發點報確切的問題是爲.pem文件。我的感覺是,這也有私鑰。我用下面的命令導入到密鑰庫這樣的:

密鑰工具-importcert -alias myalias -file myfile.pem

對於「?信任該證書[無]」,如果讓我選擇「無」進口失敗。所以,我以「是」的方式行事。導入確實成功。我

的keytool -list

產生類似的jarsigner列出的一個輸出:證書鏈未找到。

我的感覺是,我確實有正確的證書位沒有正確導入。換句話說,我懷疑是在創建一個「可信證書條目」而不是「密鑰條目」,但不知道如何強制keytool創建「密鑰條目」。

我該如何解決這個問題?

附加信息:

經進一步工作,我傾向於正好比上面一個相反的結論。我現在認爲我的pem文件有問題。我查看了過期密鑰的以前的密鑰庫條目。它清楚地聲明瞭PrivateKeyEntry,而我的導入狀態爲trustedCertEntry。

回答

1

您可以嘗試從包含整個證書鏈的文件創建一個pkcs12。你需要你的公共證書和根CA證書。命令是這樣的:

openssl pkcs12 -export -inkey file.pem -in file.crt -out file.p12 \ 
-CAfile root-CA.pem -chain -name mykey 

一旦你擁有整個file.p12文件,你可以充分證書導出爲PEM格式:

openssl pkcs12 -in file.p12 -out new-cert.pem -nodes -clcerts 

或者,如果你想出口到Java密鑰存儲格式那有整個鏈條,命令是:

keytool -importkeystore -srcstoretype pkcs12 -srckeystore file.p12 \ 
-srcstorepass <password> -keystore keystore.jks