APK包签名相关

原创 2015年11月18日 15:03:13

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


提取应用的签名和包名

欢迎Follow我的GitHub, 关注我的CSDN, 未经授权, 禁止转载. Android应用在使用第三方的库时, 可能需要申请密钥, 表明应用身份, 如高德定位SDK等. 应用签名(printc...
  • u012515223
  • u012515223
  • 2016年04月28日 16:25
  • 5720

使用命令对APK包进行签名

如果不想借助于Eclipse提供的方式对Android应用程序签名,或许在某些场合下,需要对一个“未签名”的APK包进行签名,则可通过“命令”来对Android应用程序进行手动签名。 使用命令对An...
  • KINGDVC
  • KINGDVC
  • 2014年12月23日 17:43
  • 1066

android apk签名和包名

总结:1.包名和签名都相同的apk才能替换; 2.通过修改AndroidManifest.xml中的android:label="@string/app_name"可以修改apk安装后的显示名称...
  • smile0heaven
  • smile0heaven
  • 2015年10月14日 21:32
  • 1190

如何对apk文件进行签名

有没有发现自己重新打包过后的
  • Roland_Sun
  • Roland_Sun
  • 2014年05月21日 11:44
  • 4450

Android签名详解(debug和release)

转自:http://www.cnblogs.com/ok-lanyan/archive/2013/04/02/2995462.html 1. 为什么要签名 1) 发送者的身...
  • azhou_hui
  • azhou_hui
  • 2015年12月30日 00:23
  • 2061

查看已经打包好的APK文件的签名与给打包好的APK文件签名

说明:此操作是在MAC系统上进行的,对于windows系统是否适用没用试验过。 1.查看APK签名     将.apk文件更改为后缀名为.zip文件,然后解压文件,里面有一个META-INF文件,...
  • luck_136
  • luck_136
  • 2016年07月26日 14:12
  • 3832

Android获取32位应用签名及如何判断该签名为debug还是release

1、如何获取Android的应用程序签名信息? 2、如何判断该签名是属于debug签名还是release签名? 进入正题: 1、获取应用的签名信息: 相信这个大家见过好多,即使...
  • luohai859
  • luohai859
  • 2015年03月27日 16:51
  • 4314

apk签名冲突 与旧版不同解决办法 apk签名比对

最近刚接手一个应用,更新了一些内容后想在测试机器上进行调试,结果AndroidStudio提示   Installation failed since the device already has...
  • gediseer
  • gediseer
  • 2017年02月17日 20:52
  • 2328

android 应用内部获取本应用或者对应包名的应用的SHA1签名的办法

public static String getCertificateSHA1Fingerprint(Context context) { PackageManager pm = context....
  • gaoshouxiaodi
  • gaoshouxiaodi
  • 2014年07月15日 18:16
  • 5114

Android的apk安装时签名相同冲突解决

如果两个应用程序, 包名相同, 但是签名不同, 就无法覆盖安装 正式签名 1. 有效期比较长,一般大于25年 2. 需要设置密码 3. 正式发布应用时,必须用正式签名来打包 测试签名(debug...
  • zhao2017
  • zhao2017
  • 2016年08月19日 22:09
  • 5366
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:APK包签名相关
举报原因:
原因补充:

(最多只允许输入30个字)