博客
关于我
Android APK 签名比对(转)
阅读量:425 次
发布时间:2019-03-06

本文共 804 字,大约阅读时间需要 2 分钟。

Android APK签名过程的详细解析

在移动开发领域,Android应用程序的签名机制是保障应用程序完整性和发布机构唯一性的重要手段。本文将详细介绍Android APK签名的过程,并探讨其应用场景。

一、APK签名的核心流程

  • MANIFEST.MF文件的生成
  • MANIFEST.MF文件是APK签名的重要组成部分,其生成过程旨在为每个文件条目生成SHA1数字签名。具体步骤如下:

    • 遍历APK包中的所有文件条目。
    • 对于非文件夹且非特定签名文件,逐个读取文件内容,计算其SHA1哈希值。
    • 使用Base64编码生成签名信息,并将其写入MANIFEST.MF文件。
    1. CERT.SF文件的生成
    2. CERT.SF文件是对MANIFEST.MF文件的签名,使用SHA1-RSA算法:

      • 使用私钥对MANIFEST.MF的摘要信息进行签名。
      • 将签名写入CERT.SF文件中。
      1. CERT.RSA文件的生成
      2. CERT.RSA文件包含签名所用的公钥信息:

        • 将公钥信息与签名证书关联,生成CERT.RSA文件。

        二、APK签名比对的实现方式

        通过对比APK包中的签名证书,可以验证APK的发布机构。Android系统内置的PackageParser类用于解析APK包,获取签名信息。

        三、APK签名比对的应用场景

      3. 程序自检测
      4. APK运行时可进行自检,将签名比对结果存储在本地或云端。适用于提高用户信任度的场景,需注意防止恶意破坏。

        1. 第三方检测
        2. 可靠的第三方检测服务负责APK签名比对,适用于杀毒软件和应用市场。该模式依赖网络环境,确保数据的安全性。

          1. 系统限定安装
          2. 通过系统设置,限定只能安装签名通过的APK,适用于企业级设备管理,提升安全性但增大了系统封闭性。

            结语

            APK签名机制为Android应用提供了完整性校验,虽然不能完全防止修改,但通过比对公钥信息可识别发布机构。结合自检、第三方检测和系统管理,可有效提升应用安全性。

    转载地址:http://nhpuz.baihongyu.com/

    你可能感兴趣的文章
    oracle SQLserver 函数
    查看>>
    oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
    查看>>
    UML— 时序图
    查看>>
    Oracle Statspack分析报告详解(一)
    查看>>
    oracle tirger_在Oracle中,临时表和全局临时表有什么区别?
    查看>>
    Oracle Validated Configurations 安装使用 说明
    查看>>
    oracle where 条件的执行顺序分析1
    查看>>
    oracle 中的 CONCAT,substring ,MINUS 用法
    查看>>
    Oracle 中的 decode
    查看>>
    oracle 中表一对多取多方的最新的一条数据
    查看>>
    oracle 使用 PL/SQL Developer创建表并插入单条、多条数据
    查看>>
    oracle 使用leading, use_nl, rownum调优
    查看>>
    oracle 修改字段类型方法
    查看>>
    Oracle 修改数据库表数据提交之后进行回滚
    查看>>
    UML-总结
    查看>>
    oracle 内存参数示意图
    查看>>
    Oracle 写存储过程的一个模板还有一些基本的知识点
    查看>>
    UML- 配置图(部署图)
    查看>>
    oracle 切割字符串加引号_使用Clean() 去掉由函数自动生成的字符串中的双引号...
    查看>>
    Oracle 创建 DBLink 的方法
    查看>>