一、什么是apk签名
签名是摘要与非对称密钥加密相相结合的产物,摘要就像内容的一个指纹信息,一旦内容被篡改,摘要就会改变,签名是摘要的加密结果,摘要改变,签名也会失效。Android APK签名也是这个道理,如果APK签名跟内容对应不起来,Android系统就认为APK内容被篡改了,从而拒绝安装,以保证系统的安全性。应用程序的作者使用自己的私钥签名APK文件,并将签名与公钥一起发布到APK中,这个过程称之为签名。当应用程序被安装时,用发布的公钥去解析签名,并与文件的hash进行比对,这个过程叫验签。
二、为什么需要签名
在消息通信时,必须至少解决两个问题:
一是确保消息来源的真实性,
二是确保消息不会被第三方篡改。
签名机制主要有两种用途:
1、使用特殊的key签名可以获取到一些不同的权限
2、验证数据保证不被篡改,防止应用被恶意的第三方覆盖