如何找出用于簽署應用程序的密鑰庫?我有一個簽名的應用程序和幾個密鑰庫文件。我想更新應用程序,所以我需要找出使用了哪一個密鑰。我如何匹配最初使用哪個密鑰庫來對我的機器上的各種密鑰庫進行簽名?
3 回答

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
首先,解壓縮APK并解壓縮文件/META-INF/ANDROID_.RSA(此文件也可能是CERT.RSA,但應該只有一個.RSA文件)。
然后發出以下命令:
keytool -printcert -file ANDROID_.RSA
您將獲得如下證書指紋:
MD5: B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB SHA1: 16:59:E7:E3:0C:AA:7A:0D:F2:0D:05:20:12:A8:85:0B:32:C5:4F:68 Signature algorithm name: SHA1withRSA
然后再次使用keytool打印出簽名密鑰庫的所有別名:
keytool -list -keystore my-signing-key.keystore
您將獲得別名列表及其證書指紋:
android_key, Jan 23, 2010, PrivateKeyEntry,Certificate fingerprint (MD5): B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB
瞧!我們現在可以確定apk已經使用此密鑰庫簽名,并使用別名'android_key'。
Keytool是Java的一部分,因此請確保您的PATH中包含Java安裝目錄。

慕沐林林
TA貢獻2016條經驗 獲得超9個贊
您可以使用Java 7的密鑰和證書管理工具keytool
來檢查密鑰庫或APK的簽名,而無需提取任何文件。
APK的簽名
keytool -list -printcert -jarfile app.apk
輸出將顯示APK文件的簽名所有者/發布者以及MD5,SHA1和SHA256指紋app.apk
。
(請注意,該-jarfile
參數是在Java 7中引入的; 有關更多詳細信息,請參閱文檔。)
密鑰庫的簽名
keytool -list -v -keystore release.jks
輸出將顯示密鑰庫文件中的別名(條目)release.jks
,以及證書指紋(MD5,SHA1和SHA256)。
如果APK和密鑰庫之間的SHA1指紋匹配,那么您可以放心,該應用程序已使用密鑰簽名。
- 3 回答
- 0 關注
- 510 瀏覽
添加回答
舉報
0/150
提交
取消