如何验证apk是否签名成功,apk比对keystore的签名信息

如何验证apk是否签名成功,apk比对keystore的签名信息

本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:

  • 1.如何验证apk是否签名成功
  • 2.apk比对keystore的签名信息

签名对于apk的重要性

发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。 —— [ csnd博客 ]

验证apk是否加签我们可以使用 jarsigner 命令来完成

cmd命令代码:jarsigner -certs -verbose -verify xxx.apk
下面是验证过签名apk的输出结果:
下面是验证过签名apk的输出结果

检测apk是否为该keystore来加签的

1.第一步需要输出keystore的签名信息,如所有者,发布者,序列号,创建时间等等,还有最为重要的证书指纹。证书指纹里面就有加签的算法 ,MD5,SHA1,SHA256,签名算法名称,这些信息。
cmd命令行代码:keytool -list -v -keystore apk.keystore
下面是keystore的签名信息:
这里写图片描述
2.第二步将XXX.apk的签名信息打印出来
(1)查找apk里的rsa文件
Windows 平台:
jar tf demo .apk |findstr RSA
Linux 平台:
jar tf demo .apk |grep RSA
META-INF/CERT.RSA
(2) 从apk中解压rsa文件
jar xf demo .apk META-INF/CERT.RSA
(PS:获取rsa文件也可以将apk解压里面就META-INF文件夹,该目录下就可以找到相应的rsa文件了)
获取签名的fingerprints
(3)keytool -printcert -file META-INF/CERT.RSA
这里写图片描述
根据上一步得到keystore 的签名信息来比对,签名证书的MD5 和 SHA1 相同就是,否则不是。

还有一种方法可以直接将apk的签名信息打印出来

cmd命令行: keytool -printcert -jarfile XXX.apk
这里写图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值