За програмистите за Android, които управляват собствените си ключове за подписване, отпечатъкът на сертификата за подписване, базиран на SHA-256, е уникалната криптографска идентифицираща информация на приложението ви. В това ръководство са посочени три метода за извличането му от подписан APK файл или от оригиналното хранилище за ключове.
Извличане на SHA-256 от APK файл
Тези методи са полезни, ако разполагате с окончателния подписан APK файл, но може да нямате лесен достъп до оригиналното хранилище за ключове или паролите му.
Метод 1А: Използване на 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:
Хеш стойност на сертификата SHA-256 на подписващия № 1:
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 Development Kit (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.