校验 APK 签名:确认安装包来自官方
什么时候需要这一步
从应用商店安装的用户可以跳过本页。需要校验签名的典型场景:
- 从非商店渠道拿到了 APK 文件(他人分享、网盘转存等),想确认它没被篡改;
- 换机时从旧备份里翻出的历史安装包;
- 安全敏感人群对任何来源的安装包做例行核验。
原理
官方仓库说明:Google Play 与 GitHub 发布页的安装包使用同一密钥签名,因此可以用签名信息核对一个 APK 是否真的出自官方。F-Droid 渠道由其自身构建签名,属于另一套签名体系(以 F-Droid 平台的验证机制为准)。
校验方法
在装有 Android SDK 构建工具的电脑上执行:
apksigner verify --print-certs --verbose aegis.apk
验证通过时,输出中应包含 Verified 字样,并列出签名方案与证书信息。官方 README 给出的判断要点是证书指纹应与其公布值一致,其中 SHA-256 指纹为:
C6:DB:80:A8:E1:4E:52:30:C1:DE:84:15:EF:82:0D:13:DC:90:1D:8F:E3:3C:F3:AC:B5:7B:68:62:D8:58:A8:23
证书主体为 CN=Beem Development,有效期自 2019 年起(完整指纹与字段以官方仓库 README 当前公布值为准)。
没有电脑环境的简化做法
做不到命令行校验时,退而求其次:
- 核对包名:
com.beemdevelopment.aegis,见版本与渠道; - 优先走商店或 F-Droid:这两个渠道的分发链路本身可验证;
- 核对来源:确认 APK 来自官方发布页列出的渠道,而不是转帖。
校验之后
安装包可信只是起点,数据安全还依赖保险库密码与备份体系,见保险库与安全组各页。