2010-10-05 95 views
2

我有與jarsigner簽署我的jar文件的問題。我以前this教程讓我簽字的JAR文件,但最後一步(簽署JAR),我得到這個錯誤:與真正的證書使用jarsigner簽署jar文件的錯誤

jarsigner error: java.lang.RuntimeException: keystore load: Invalid keystore format

,我沒有使用步驟#10,我用,而不是從第5步this網站,因爲我使用的是真正的證書不是假的......

注: 我有在.spc & .pvk格式我的證書......

但是,因爲我使用jarsigner,我必須將它們轉換爲.p12格式。因此,我首先使用pvkimprt.exe然後到.p12將它們轉換爲.pfx。我使用了我在之前提到的鏈接中指定的方法。

此外,我試圖創建一個虛假的證書,以確保問題不是從pvkimprt.exe工具或從證書。它給了我同樣的錯誤。

證書就好。那麼問題來自哪裏?

回答

3

您正面臨的錯誤表明jarsigner不理解包含密鑰的密鑰庫的格式。

如果轉換密鑰&證書到你指定用於密鑰庫的類型與-storetype PKCS12命令行選項,並用-storepass mystorepassword

(實際上大多數時間的P12密碼的jarsigner一個PKCS#12文件.pfx和.p12用於相同的文件格式,因此我不確定本教程中的Firefox導入/導出步驟是否有效)

+1

沒有什麼新的......而且,它給了我同樣的錯誤信息......我不知道爲什麼:( – Q8Y 2010-10-05 10:16:08

+0

爲了檢查你的P12未損壞你嘗試讀你的P12文件與openssl或keytool?keytool -list -v -keystore myfile.p12 -storetype pkcs12 -storepass密碼 – Jcs 2010-10-05 11:05:41

+0

當我使用keytool命令時,它給了我這個錯誤:「keytool error:java.io.IOException:未能解密安全內容條目:javax.crypto.BadPaddingException:鑑於最後的塊沒有正確填充「但是什麼是錯的 」.spc&「pvk」罰款和工作......我不認爲它從他們。因爲也,當我創建假證書時,它給出了同樣的錯誤...所以,它是從它自己的jarsigner嗎?你知道anoth呃易於使用的工具,可以做同樣的工作? – Q8Y 2010-10-06 06:17:10

2

不是一個真正的答案,只是一個評論 - 我發現大寫是至關重要 - 「pkcs12」不起作用,但「PKCS12」做到了,使用Jcs的答案。

1

這是我做的,並且工作:

<ant:signjar alias="le-f0b73c88-1f82-4497-8c3f-e10d399b4c9c" storetype="pkcs12" 
    storepass="fount-current" 
    keystore="/vobs/oam_base/loadbuild_tools/common/src/conf/kunal.pfx"> 

存儲過程應該是較低的情況下,這是工作狀態或參數,一段時間錯誤的順序與拋出運行時填充例外。

[signjar] jarsigner error: java.lang.RuntimeException: keystore load:

+0

這是ant的一段代碼, 2014-03-06 17:52:59

相關問題