簡體   English   中英

密鑰庫和Android的簽名問題

[英]Signing problems with keystore and Android

因此,我在市場上有一個Android應用程序,現在需要對其進行更新。 我一直在嘗試簽署新的APK,但遇到了困難。

我有密鑰庫,並使用keytool -list -v -keystore deployment.keystore驗證了它包含正確的證書。 密鑰庫沒有密碼,不記得要這樣做了,但是就到了。 如果輸入任何內容,則會出現錯誤;如果不輸入,則它將接受命令並列出所包含的證書。

現在的問題是,當嘗試使用導出向導在Eclipse中導出apk文件時,不允許我在密鑰庫上沒有密碼,因此無法獲得其中的憑證。 因此,我嘗試運行以下命令,以嘗試更改keystore keytool -storepasswd -keystore deployment.keystore上的密碼。 我被要求輸入密碼,並且我要設置的空字符串密碼和新密碼均未被接受。 如果長度小於6個字符,則再次提示,如果長度大於6個字符,則出現以下錯誤: keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

現在我無所適從,尋求SO的集體知識來幫助我。

更新 :我現在已經導出了證書,然后再次將其成功導入到新的密鑰庫中。 現在的問題是,當我嘗試簽名時,我在Eclipse中遇到了Unhandled event loop exception 有任何想法嗎?

更新2:嘗試通過終端登錄以避免Eclipse拋出的異常帶來了新問題。 我正在嘗試以下操作: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore new.keystore myApp.apk myAlias 我僅在新的密鑰庫中擁有證書,但沒有私鑰,因此我一直在嘗試通過運行keytool -importkeystore -srckeystore deployment.keystore -destkeystore myKeystore.p12 -deststoretype PKCS12從舊密鑰庫keytool -importkeystore -srckeystore deployment.keystore -destkeystore myKeystore.p12 -deststoretype PKCS12其導出為p12。

現在,我收到以下警告:

** * ** * *警告警告警告* ** * ** *

尚未驗證存儲在srckeystore *中的信息的完整性! 為了驗證其完整性,您必須提供srckeystore密碼。

** * ** * *警告警告警告* ** * ** *

現在,這提示我輸入srckeystore的密碼,該密碼為空字符串。 這似乎是我遇到的一個漏洞!

更新3:現在,通過提供命令-storepass我已成功更改了原始密鑰庫密碼。 但是,現在提示我在密鑰庫中輸入實際私鑰/公鑰對的密鑰。 我不記得設置這些設置,即使我已經讀到they default to the keystore password if not set也不會接受我輸入的任何內容。 我的搜索繼續。

-德累斯頓

在嘗試了幾種不同的方法之后,我們最終使用來自新密鑰庫的新密鑰重新發布了該應用程序。 值得慶幸的是,它只發布了幾個小時,並且根本沒有被推廣,因此只有大約10個用戶受到了影響。 還有很多。

完成所有這些之后,我們就開始設置Maven,並且只有在Maven服務器編譯並簽署了應用程序之后,才能進行所有發布。 一切都備份了,所有密碼都記下來了,等等。

暫無
暫無

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

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