众所周知,MANIFEST.MF包含在base64中为apk中的所有文件编码的sha1-digest,CERT.SF包含文件MANIFEST.MF的sha1-digest及其中的所有项目,而CERT.RSA包含签名文件CERT.SF和认证。
以下是问题: 为什么不直接签署MANIFEST.MF并在CERT.RSA中保存签名?
答案 0 :(得分:0)
apk保护链是。(RSA | DSA | EC) - > .SF - > MANIFEST.MF - >每个受完整性保护的JAR条目的内容。
根据官方android页面[网站] [1]
.SF文件包含META-INF / MANIFEST.MF的整个文件摘要和META-INF / MANIFEST.MF的每个部分的摘要。 MANIFEST.MF的整个文件摘要已经过验证。如果失败,则会验证每个MANIFEST.MF部分的摘要。
因此,添加了CERT.SF以提供签名验证的回退机制。