Для розробників Android, які керують власними ключами підпису, цифровий відбиток сертифіката SHA-256 є унікальним криптографічним ідентифікатором додатка. У цьому посібнику описано три способи отримати його з підписаного файлу APK або оригінального сховища ключів.
Як отримати цифровий відбиток SHA-256 із файлу APK
Ви можете скористатися цими методами, якщо у вас є остаточна версія підписаного файлу APK, але немає легкого доступу до оригінального сховища ключів або його паролів.
Метод 1A: інструмент apksigner (рекомендовано для файлів APK)
Інструмент apksigner – це найсучасніший і найнадійніший спосіб отримати інформацію про підпис із файлу APK незалежно від того, яка схема підписування (V1, V2, V3 або V4) використовується.
Крок 1. Знайдіть інструмент apksigner
(наприклад, /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
Крок 2. Виконайте команду
Відкрийте термінал або командний рядок, перейдіть у каталог, де збережено файл APK, і виконайте таку команду:
apksigner verify --print-certs <path/to/your/app.apk>
Крок 3. Знайдіть цифровий відбиток SHA-256
Результат міститиме відомості про сертифікат для кожного підписанта. Знайдіть мітку дайджесту цифрового відбитка SHA-256.
Signer #1 certificate SHA-256 digest:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
Довгий рядок шістнадцяткових символів, розділених двокрапками, і є потрібним вам цифровим відбитком сертифіката SHA-256.
Метод 1Б: інструмент keytool для файлу APK
Крок 1. Знайдіть інструмент keytool і файл APK
Переконайтеся, що ви знаєте місце розташування утиліти keytool (у складі встановленого пакета JDK) і підписаного файлу APK.
Крок 2. Виконайте команду
Виконайте наведену нижче команду, указавши підписаний файл APK як сховище ключів.
keytool -printcert -jarfile <path/to/your/app.apk>
Крок 3. Знайдіть цифровий відбиток SHA-256
Результат міститиме розділ "Цифрові відбитки сертифіката". Знайдіть у ньому рядок SHA-256.
Як отримати цифровий відбиток SHA-256 із файлу сховища ключів
Це стандартний спосіб отримання відбитка сертифіката з оригінального файлу сховища ключів у будь-якій операційній системі.
Це стандартний спосіб отримання відбитка сертифіката з оригінального файлу сховища ключів у будь-якій операційній системі.
Метод 2: стандартна утиліта keytool
Крок 1. Знайдіть утиліту й файл сховища ключів
Вам знадобиться наведене нижче.
- Файл сховища ключів. Файл, який було використано для підписування додатка (.jks або .keystore). Ви повинні знати його шлях, пароль і псевдонім ключа в ньому.
- Утиліта keytool. Входить до складу пакета для розробки програмного забезпечення Java (JDK).
| Операційна система | Місце розташування утиліти keytool |
| Windows | Зазвичай у каталозі bin папки, де встановлено JDK (наприклад, C:\Program Files\Java\jdk-xx\bin\). |
| macOS/Linux | Зазвичай безпосередньо в терміналі після встановлення JDK. |
Крок 2. Перейдіть у потрібний каталог
Відкрийте термінал або командний рядок. Щоб спростити наступний крок, перейдіть у каталог, що містить файл сховища ключів.
# Приклад (замініть на шлях до вашого файлу сховища ключів):
cd /path/to/your/keystore/directory
Крок 3. Виконайте команду
Щоб отримати від keytool докладні відомості про сертифікат, скористайтеся наведеною нижче командою.
Примітка. Якщо keytool не розпізнається, вам потрібно буде вказати повний шлях до цієї утиліти (наприклад, /path/to/jdk/bin/keytool).
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- Замініть [your_keystore_name.jks] на фактичну назву файлу сховища ключів.
- Замініть [your_key_alias] на фактичний псевдонім ключа підпису (наприклад, mykey).
Крок 4. Знайдіть цифровий відбиток SHA-256
Утиліта запропонує вам ввести пароль від сховища ключів. Після введення пароля з’являться відомості про сертифікат.
Знайдіть розділ Цифрові відбитки сертифікатів.
Цифрові відбитки сертифікатів:
SHA1: XX:XX:XX:XX:XX:...
SHA256: 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Назва алгоритму підпису: SHA256withRSA
...
Довгий рядок шістнадцяткових символів, розділених двокрапками, після SHA256 і є потрібним вам цифровим відбитком загальнодоступного сертифіката SHA-256.