app签名
app签名作用:
保证app安装包是完整的未被窜改过.
所有app的签名是唯一的,如app签名重复,则安装时会报错,一定需要卸载签名相同的原安装程序才能装新的。
签名操作原理
1, 用MD5/SHA-0 SHA-1等消息摘要算法对app.apk生产消息摘要。
2, 用签名证书的私钥对消息摘要加密。
3, 把签名证书(含公钥),加密后的消息摘要,以及消息摘要算法存放在app.apk内生产新的appSigned.apk.
签名后的appSigned.apk多了以下三个文件 MANIFEST.MF, CERT.RSA, CERT.SF。
MANIFEST.MF 保存了所有文件的SHA-1并base64编码后的值,即app.apk的消息摘要
CERT.RSA 包含公钥信息,所采用的加密算法和信息发布机构信息
CERT.SF 文件比MANIFEST.MF多了SHA1-Digest-Manifest ,这个值是MANIFEST.MF文件使用SHA1-RSA算法,用私钥进行加密得到。
签名认证原理
1, 从appSigned.apk内获取签名证书(含公钥),加密后的消息摘要,以及消息摘要算法。
2, 从签名证书中获取公钥,并解密加密后的消息摘要,得到消息摘要。
3, 用消息摘要算法对appSigned.apk生成消息摘要。
4, 判断步骤2和步骤3产生的消息摘要是否一致,如一致则认证通过。由于只有发送者才有加密摘要的私钥,所以我们可以确定信息一定是发送者发送的
签名原理http://blog.csdn.net/kickxxx/article/details/18252881