关闭

APK包签名相关

标签: Android签名
171人阅读 评论(0) 收藏 举报
分类:

查看APK包签名公钥信息,可以比对两个APK包的签名是否一样。执行的步骤如下:

1、用解压文件打开APK包,接入META-INF目录可以看到如下三个文件:


三个文件的说明如下:

MANIFEST.MF:这个是摘要文件。是对APK包每个文件(非文件夹,非签名文件)逐个用SHA1算法生成摘要并且用Base64进行编码。如果你改变了apk包中的文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,程序就不能成功安装。并且此文件名是不能修改的。


CERT.SF:这个文件是对摘要文件进行SHA-RSA算法用开发者的秘钥进行签名。只能用开发者公钥解密。如果解密后的文件盒MANIFEST.MF文件对应不上,就说明APK包是被修改过的,此时APK包是安装不了的。(名字可以修改,比如改成TEST.SF,但后缀不能改,并且要和.RSA文件名保持一致)


CERT.RSA:保存了公钥和相关的加密算法信息。(名字可以修改,比如改成TEST.RSA,但后缀不能改,并且要和.SF文件名保持一致)


二、拷贝出CERT.RSA文件出来

三、使用keytool.exe提取公钥的命令

命令行:C:\Program Files (x86)\Java\jdk1.6.0\bin>keytool.exe -printcert -file APK包的.RSA路径

就可以查看到签名公钥信息。比如我的Eclipse默认签名公钥如下:



如果要对比两个APK包签名是否使用同一个签名,那么只要对比证书指纹就可以了,如果相同的话,那么就是使用的同一个签名。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3029次
    • 积分:98
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条