Android签名机制
2016-10-09 21:01
246 查看
Anroid系统通过对第三方APK包进行签名,达到识别应用程序开发者身份的目的,但只能够检测应用程序是否被修改过,无法有效限制应用程序被恶意篡改。
android APK的签名过程主要分为以下三个步骤:
SHA1是一种Hash算法,两个不同的信息经过Hash运算后不会产生同样的信息摘要,由于SHA1是单向的,所以不可能从消息摘要中复原原文。如果恶意程序改变了APK包中的文件,那么在进行APK安装校验时,被改变文件的摘要信息与MANIFEST.MF中的校验信息不同,应用程序便不能安装成功。
由于RSA是一种非对称加密算法,因此用私钥对MANIFEST.MF的中数字签名加密后,在APK安装时只能使用公钥才能将其解密。以防止MANIFEST.MF中的数字签名被篡改。
android APK的签名过程主要分为以下三个步骤:
1,生成MANIFEST.MF文件
生成MANIFEST.MF文件过程是对APK包中所有未签名文件逐个用SHA1算法进行数字签名,再对数字签名信息采用Base64进行编码,最后将编码完成的签名写入MANIFEST.MF文件中。SHA1是一种Hash算法,两个不同的信息经过Hash运算后不会产生同样的信息摘要,由于SHA1是单向的,所以不可能从消息摘要中复原原文。如果恶意程序改变了APK包中的文件,那么在进行APK安装校验时,被改变文件的摘要信息与MANIFEST.MF中的校验信息不同,应用程序便不能安装成功。
2,生成CERT.SF文件
在生成MANIFEST.MF文件之后,用SHA1-RSA算法对其中的数字签名逐条进行私钥签名,生成CERT.SF文件。由于RSA是一种非对称加密算法,因此用私钥对MANIFEST.MF的中数字签名加密后,在APK安装时只能使用公钥才能将其解密。以防止MANIFEST.MF中的数字签名被篡改。
3,生成CERT.RSA文件
生成CERT.RSA文件需要使用与上述私钥成对的公钥。CERT.RSA文件中保存了公钥以及所采用的加密算法等信息。相关文章推荐
- Android中的签名机制
- Android APK 签名机制
- android代码签名机制有问题
- android签名机制(2)——如何签名
- Android中的签名机制
- Android中的签名机制
- Android签名机制:生成keystore、签名、查看签名信息
- android应用安全——签名机制
- android应用安全——签名机制
- Android中的签名机制
- Android APK 签名机制
- Android签名机制
- 基于签名与权限的android安全机制
- android应用安全——签名机制
- android 的自签名机制
- android应用程序的签名(Signature) 签名机制
- Android签名机制
- Android签名机制
- Android APK 签名机制
- Android中的签名机制