12
май
2023
11:28

Как проверить электронную подпись файла APK ?

12 май 2023 11:28

Программы для Android смартфонов распространяются в виде APK файлов не только через магазины приложений, но и с различных сайтов. Чтобы обеспечить целостность и авторство, разработчик подписывает APK файлы своей ЭЦП. Как вручную проверить электронно-цифровую подпись APK файла в Linux?

1) Скачайте архив Command Tools Only от пакета Android Studio

https://developer.android.com/studio - Downloads

На странице поиском ищем раздел "Command line tools only".

В нём нас интересует архив с пакетом SDK tools для командной строки Linux:

  • commandlinetools-linux ... latest.zip

2) Извлеките архив с путями, например, в папку ~/android

Перейдите в папку cmdline-tools/bin :

cd ~/android/cmdline-tools/bin

3) Запустите терминал. В нём с помощью утилиты sdkmanager узнаем последнюю версию программ командной строки для построения пакетов (в ней находится программа проверки ЭЦП.

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

где --list - команда вывода списка доступных версий SDK, --sdk_root='' - путь к Android Studio пустой, т.к. у меня Андроид Студия не установлена.

4) Прочитайте с экрана последнюю доступную версию пакета "build-tools", например, 33. Скопируйте в буфер обмена строку.

5) На основе данных пункта 4 сформируйте и выполните команду:

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

Примите условия лицензии.

Программы build-tools будут установлены в дочернюю папку "build-tools/ номер версии",
например: build-tools/33.0.2.

6) Перейдите в папку "build-tools / номер версии".

cd build-tools/33.0.2

либо по полному пути

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

7) С помощью сценария apksigner проверим электронно-цифровую подпись файла APK:

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

где ~/folder/file.apk - путь к файлу APK, у которого хотим проверить ЭЦП.

Для удобства чтения из файла, а не с экрана, можно вывести результат проверки в файл на диске, с помощью перенаправления вывода консоли.

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

Источник:



Похожие публикации