0
点赞
收藏
分享

微信扫一扫

Android打包知识体系(二)——APK签名介绍

萨科潘 2022-04-18 阅读 79

上一节介绍到多渠道打包的快速,他是如何如此迅速的完成打包的?

一.APK签名介绍:

1.APK 签名方案

Android 支持以下三种应用签名方案:

  • v1 方案:基于 JAR 签名。
  • v2 方案:APK 签名方案 v2(在 Android 7.0 中引入)。
  • v3 方案:APK 签名方案 v3(在 Android 9 中引入)。

为了最大限度地提高兼容性,请按照 v1、v2、v3 的先后顺序采用所有方案对应用进行签名。与只通过 v1 方案签名的应用相比,还通过 v2+ 方案签名的应用能够更快速地安装到 Android 7.0 及更高版本的设备上。更低版本的 Android 平台会忽略 v2+ 签名,这就需要应用包含 v1 签名。

2. V1签名:是一个基于JAR的签名,保护ZIP中的文件

        首先我们找一个已经签名的apk文件,修改后缀名为zip,然后解压。可以看到里面有一个META-INF文件夹,里面就是签名验证的文件。有三个文件MANIFEST.MF、CERT.SF、CERT.RSA分别保存着不同的签名信息。

2.1 MANIFEST.MF文件

        apk在安装的时候,会根据文件内容计算出对应的SHA-256校验码,如果生成的校验码与MANIFEST.MF中的信息不符,则安装失败。

2.2 CERT.SF文件

 除了保存APK所有文件的名称和校验码之外,还保存了MANIFEST.MF文件的校验码。

2.3 CERT.RSA文件

签名的时候需要给一个证书,证书里面有公钥和私钥

RSA文件的内容就是:使用私钥计算CERT.SF文件的数字签名 + 包含公钥的证书。

3. V2 V3签名:保护整个APK(除特殊区域外)的字节数据

举报

相关推荐

0 条评论