APK包签名相关

查看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包签名是否使用同一个签名,那么只要对比证书指纹就可以了,如果相同的话,那么就是使用的同一个签名。


阅读更多
文章标签: Android 签名
个人分类: 个人Android笔记
想对作者说点什么? 我来说一句

空白未签名的apk

2013年05月28日 6KB 下载

apk批量签名脚本及教程

2014年09月24日 2.38MB 下载

没有更多推荐了,返回首页

不良信息举报

APK包签名相关

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭