Как вручную проверить подписи apk и сравнить ключи подписи - PullRequest
0 голосов
/ 29 апреля 2020

Предположим, у меня есть два файла .apk, предположительно от одного разработчика. Как мне убедиться, что они подписаны одним и тем же ключом? Как проверить, что ключ принадлежит разработчику?

В какой Android загрузке существует правильный инструмент? Кажется, я не нахожу его в командной строке- linux -6200805_latest.zip или android -studio-ide-192.6392135- linux .tar.gz

1 Ответ

1 голос
/ 29 апреля 2020

Вам необходим инструмент apksigner для проверки apk.

У вас есть два варианта:


1) Скачать последние buildtools от SdkManger в Android Studio . - См. Инструкцию https://developer.android.com/studio/intro/update#sdk -менеджер


2) Загрузка вручную : - Перейдите к https://developer.android.com/studio#downloads и выберите Командную строку пакет инструментов для вашей ОС (например, нажмите кнопку «commandlinetools-ma c -6200805_latest.zip» для ma c os)

  • Согласитесь с вышеуказанными условиями и скачать commandlinetools

  • распаковать commandlinetools (вы получите папку с именем «tools»)

  • go в папку tools / bin

  • execute cmd> ./sdkmanager --list --sdk_root=''

(аргумент 'sdk_ root' может быть путем к android sdk или пустым, если у вас его нет)

  • найдите последнюю версию build-tools. в моем случае это: "build-tools;29.0.3 | 29.0.3 | Android SDK Build-Tools 29.0.3"

  • execute cmd> ./sdkmanager "build-tools;29.0.3" --sdk_root=''

(загрузить инструменты сборки в текущую папку)



Следующие шаги:

  • Когда у вас будет /build-tools/29.0.3/apksigner cmd tool
  • execute cmd> ./apksigner verify -v --print-certs /Users/you/Desktop/my_app.apk

(я выполняю cmd из папки, содержащей файл apksigner) - вы получите такую ​​информацию:

Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Number of signers: 1
Signer #1 certificate DN: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
Signer #1 certificate SHA-256 digest: f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83
Signer #1 certificate SHA-1 digest: 38918a453d07199354f8b19af05ec6562ced5788
Signer #1 certificate MD5 digest: cde9f6208d672b54b1dacc0b7029f5eb
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: 2b06490d2d24305c6a90dbf74cc42f50183d207d572f8079e5d92fb2c2a0cda1
Signer #1 public key SHA-1 digest: b2da9ef7ec0f4474117fb0cba4dca3b795c0eab7
Signer #1 public key MD5 digest: a90ce510a96aa09bee6bf8d9da9b258b
...