签名过程:
首先将数据源通过摘要算法获取到数字摘要
对数字摘要用私钥进行加密得到签名
将原始消息 以及签名发送给消息接收方
接收方用公钥解密得到数字摘要 用同样的摘要算法将原始消息进行计算 比较得到的数字摘要与解密后的是否一致
Android学习笔记——Android 签名机制详解
Android签名过程:
apk文件中的META—INFO文件夹中有三个文件 分别是MENIFEST.SF CERT.RSA CERT.SF
MENIFEST.SF中存储了除了他自身以外 所有源文件的数据摘要通过Base64编码后的数据
*.SF:对前一步生成的 MANIFEST.MF,使用 SHA256-RSA(JDK7.0之前采用 SHA1算法) 算法,用私钥进行签名,其中的值是对清单文件里的 SHA256 再进行 SHA256 后再次 base64 得到。
*.RAS:生成 MANIFEST.MF 没有使用密钥信息,而生成 .SF 文件使用了私钥文件。.RSA 文件中保存了公钥、所采用的加密算法等信息 ,framework 会解析这个 RAS 文件。