apksigner 对apk签名

作者 :
免费
  • 正文
  • 概述jarsigner 是 java JDK 提供的针对 jar 包签名的工具,apksigner 是 Google 官方提供的针对 Android Apk 签名和验证的专用工具,位于 Android SDK、build-tools、SDK 版本中 。无论是 apk 包 还是 jar 包,其本质都是 zip 格式的压缩包,如果只针对 v1 签名的话,两者的签名过程其实差不多。apksigner 工具默认同时使用 v1 和 v2 签名,以兼容 Android 7 以下的系统版本。

    一:简单了解 v1 签名和 v2 签名的区别

    v1 签名

    在 Android 7.0 (即 Android N,Android Api 24) 以下的版本,只能使用旧签名方案,也就是 v1 签名。

    v1 签名使用 JDK 的 jarsigner 工具,对 zip 压缩包的每个文件进行验证,签名后仍可对压缩包进行修改、移动、重新压缩文件。

    v2 签名

    自 Android 7.0 开始,Google 新增了 v2 签名方案。

    v2 签名使用 Google 自带的 apksigner 工具,对 zip 压缩包的整个文件进行验证,签名后不能修改压缩包,包括 zipalgin 。

    如果你对 v2 签名的 apk 解压,没有发现签名文件,重新压缩后 v2 签名失效,这说明 v2 签名是对整个 Apk 进行签名验证。

    v2 签名相对 v1 签名的优点

    因为不能修改压缩包,所以 v2 签名会更安全。

    v2 签名是对整个 Apk 进行签名验证,不需要解压验证,所以签名验证的时间会更短。

    先用 keytool -printcert -jarfile 命令查看该 Apk 是否签名,如下图所示

    apksigner 对apk签名-完美源码

    当前 Apk 显示未签名,下面分别介绍如何用  apksigner 对 APK 签名。apksigner 默认同时支持 v1 和 v2 签名,先来看下使用命令,下面命令中涉及到路径的都是文件的绝对路径。

    apksigner sign --ks 证书签名文件路径 --ks-key-alias 证书签名别名 要签名的apk路径.apkapksigner sign --ks 证书签名文件路径 --ks-key-alias 证书签名别名 要签名的apk路径.apk

    在终端输入命令后按回车,然后根据提示输入密钥库的密码后开始签名,如下图所示
    apksigner 对apk签名-完美源码
    输入密钥库的密码后,直接就输出完毕了,什么情况?这就完成了?

    是的,因为 apksigner 是对整个 Apk 包进行验证签名,所以没有其它的输出信息。

    回到 Downloads 文件夹后,如下图所示
    apksigner 对apk签名-完美源码
    会发现多了一个后辍名为 .idsig 的,这个可以不用处理,直接删掉也没问题。

    除了这个外,你会发现并没有新生成一个 Apk 文件,这是因为 apksigner 是直接对未签名的 Apk 包进行签名,我们用 keytool -printcert -jarfile 命令查看 allensu.apk 是否签名,如下图所示
    apksigner 对apk签名-完美源码

    可以看到,最原始的未签名的 allensu.apk 也已签名。
    四:检查 Apk 是否已签名 v1、v2、v3、v4

     

    在终端输入如下命令即可

    apksigner verify -verbose -print-certs 要检查的Apk路径.apk

    apksigner 对apk签名-完美源码
    可以看到,allensu.apk 已签名了 v1、v2 和 v3,关于 v4 签名可以暂时不用考虑。

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » apksigner 对apk签名
    3495+

    本站勉强运行

    3673+

    用户总数

    690+

    资源总数

    0+

    今日更新

    2024-4-8

    最后更新时间