12
5月
2023
11:28

如何检查APK文件的电子签名?

12 5月 2023 11:28

Android 智能手机的程序不仅通过应用程序商店,而且还通过各种网站以 APK 文件的形式分发。 为了确保完整性和作者身份,开发人员使用其数字签名对 APK 文件进行签名。 如何在Linux中手动验证APK文件的数字签名?

1) 从 Android Studio 包中下载 Command Tools Only 存档

https://developer.android.com/studio - 下载

在搜索页面上我们寻找该部分 “仅限命令行工具”

在其中,我们对 Linux 命令行的 SDK 工具包的存档感兴趣:

  • 命令行工具-linux...latest.zip

2) 使用路径解压存档,例如解压到 ~/android 文件夹

转到 cmdline-tools/bin 文件夹:

cd ~/android/cmdline-tools/bin

3) 启动终端。 在其中使用实用程序 sdk管理器 让我们找出用于构建包的命令行程序的最新版本(它包含数字签名验证程序。

./sdkmanager --list --sdk_root='' | grep build

其中 --list 是显示可用 SDK 版本列表的命令,--sdk_root='' - Android Studio 的路径为空,因为我没有安装 Android Studio。

4) 从屏幕上读取“build-tools”包的最新可用版本,例如 33。将该行复制到剪贴板。

5)根据第4点的数据,创建并执行命令:

./sdkmanager "build-tools;33.0.2" --sdk_root=''

接受许可条款。

构建工具程序将安装在子文件夹“构建工具/版本号”中,
例如:构建工具/33.0.2。

6) 进入“build-tools/版本号”文件夹。

cd build-tools/33.0.2

或通过完整路径

cd ~/android/cmdline-tools/bin/build-tools/33.0.2

7) 使用脚本 apk签名者 让我们检查一下APK文件的数字签名:

./apksigner verify -v --print-certs ~/folder/file.apk

其中 ~/folder/file.apk 是我们要检查其数字签名的 APK 文件的路径。

为了更轻松地从文件而不是从屏幕读取,您可以通过重定向控制台输出将测试结果输出到磁盘上的文件。

./apksigner verify -v --print-certs ~/folder/file.apk > ~/signs.txt

来源:

*如何手动验证 apk 签名并比较签名密钥



相关出版物