Android签名机制
来源:互联网 发布:js trigger事件 编辑:程序博客网 时间:2024/05/16 17:34
Anroid系统通过对第三方APK包进行签名,达到识别应用程序开发者身份的目的,但只能够检测应用程序是否被修改过,无法有效限制应用程序被恶意篡改。
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文件中保存了公钥以及所采用的加密算法等信息。
0 0
- Android中的签名机制
- Android中的签名机制
- Android中的签名机制
- Android签名机制
- Android APK 签名机制
- Android签名机制
- Android中的签名机制
- Android中的签名机制
- Android签名机制
- Android签名机制
- Android中的签名机制
- Android签名机制
- [转]Android签名机制
- Android签名机制
- Android中的签名机制
- Android APK 签名机制
- Android签名机制
- Android中的签名机制
- 51Nod-1020-逆序排序
- 轻松读懂IL
- 千兆网(2):数据的发送与接收测试
- poj 1942 Paths on a Grid (组合&阶乘处理)
- JTree (一)
- Android签名机制
- java访问hdfs简单demo
- oracle数据类型及函数
- 树的简单介绍
- 程序计数器简要介绍
- uboot之start.s分析1
- static关键字(静态方法)
- Android四组件-ContentProvider
- 78.90 Subsets