【发布时间】:2013-11-25 08:45:48
【问题描述】:
我一直在玩 android APK 签名,我想再问几个问题。
我知道 MANIFEST.MF 包含 APK 中所有文件的 SHA-1 哈希值。我知道有 CERT.SF 包含清单的散列和所有清单条目的散列。然后是 CERT.RSA,其中包含来自用于签署 APK 的密钥库的 RSA 证书。
我已经能够复制 MANIFEST.MF 和 CERT.SF 的内容,但我找不到 CERT.RSA 是如何“连接”到这些文件的。
我的意思是:如果我更改 APK 内容(例如替换应用程序图标),那么当然,在安装过程中,我会收到异常说 MANIFEST 中的哈希和实际哈希不同。但是当我更新 MANIFEST 和 CERT 中的哈希值以使它们正确时,我仍然在安装过程中收到 Invalid Certificate Exception。但这次是在 apk 中的第一个资源文件上。
那么,即使我更新了哈希值,Android 怎么知道我更改了 apk 中的某些内容?我发现这与 CERT.RSA 有某种关系,但我很难弄清楚它是如何工作的。
编辑,更清楚地说:除了上面提到的之外,所有的东西都必须匹配,Android 才会认为某些 APK 有效?
【问题讨论】:
标签: android hash certificate apk rsa