這不是關於如何簽名.apk文件的問題。我想知道簽名實際上意味着什麼以及如何實施。.apk文件如何得到簽名
在.apk文件中有META-INF文件夾,裏面有兩個文件。
第一個是包含CERT.SF散列SHA1各種部件,看起來像這樣:
Name: res/layout/main.xml
SHA1-Digest: Cox/T8fN1X9Hv4VqjH9YKqc/MsM=
Name: AndroidManifest.xml
SHA1-Digest: wZ418H9Aix1LNch3ci7c+cHyuZc=
Name: resources.arsc
SHA1-Digest: P+uoRrpFyVW6P3Wf+4vuR2ZSuXY=
Name: classes.dex
SHA1-Digest: cN3zXtGii9zuTOkBqDTLymeMZQI=
還有一個叫CERT.RSA文件。我認爲這是驗證簽名的公鑰。
我的問題是,整個.apk文件的簽名在哪裏存儲?而實際簽署的是什麼?它可以被用來作爲一個單一的二進制對象要麼
- .apk文件,這是簽署
- 或CERT.SF簽署其中包含不同的組件
這也將是多個人哈希如果您能指出我詳細的簽名和驗證流程的文檔,那更好。
馬丁,我試圖複製使用.NET的最後一步(生成.RSA文件)。 要輸入符號,我應該認爲它是.SF文件中的文件條目(即3行)? 這個數據應該被編碼爲UTF8還是Unicode? 我無法爲相同證書/數據生成與jarsigner工具相同的輸出(儘管)。 任何提示都會有所幫助! – 2015-08-31 08:44:03