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

相关推荐