【发布时间】:2011-03-24 10:11:31
【问题描述】:
这不是关于如何签署 .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 已签名,其中包含不同组件的单独哈希
如果你能指出详细的签名和验证过程的文档也会更好。
【问题讨论】:
标签: android code-signing