U vývojářů pro Android, kteří spravují své vlastní podpisové klíče, představuje otisk certifikátu vypočtený pomocí algoritmu SHA-256 jedinečnou kryptografickou identitu aplikace. Tento průvodce popisuje tři způsoby, jak ho získat – buď z podepsaného souboru APK, nebo z původního repozitáře klíčů.
Získání hodnoty SHA-256 ze souboru APK
Tyto metody jsou užitečné, pokud máte konečný podepsaný soubor APK, ale nemáte snadno přístup k původnímu repozitáři klíčů nebo jeho heslům.
Metoda 1A: Použití nástroje apksigner (doporučeno pro balíčky APK)
Nástroj apksigner je nejmodernější a nejspolehlivější způsob, jak ze souboru APK extrahovat informace o podpisu bez ohledu na to, zda používá schémata podepisování V1, V2, V3, nebo V4.
Krok 1: Vyhledejte nástroj apksigner
(Příklad: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
Krok 2: Spusťte příkaz
Otevřete terminál nebo příkazový řádek, přejděte do adresáře, kde je uložen soubor APK, a spusťte následující příkaz:
apksigner verify --print-certs <cesta/k/souboru/aplikace.apk>
Krok 3: Najděte otisk SHA-256
Výstup bude obsahovat podrobnosti o certifikátu pro každého podepisujícího. Vyhledejte štítek hodnoty hash SHA-256:
Signer #1 certificate SHA-256 digest:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
Dlouhý řetězec hexadecimálních znaků oddělených dvojtečkami je otisk SHA-256 certifikátu.
Metoda 1B: Použití nástroje keytool na soubor APK
Krok 1: Najděte nástroj keytool a soubor APK
Ujistěte se, že znáte umístění nástroje keytool (součást instalace JDK) i podepsaného souboru APK.
Krok 2: Spusťte příkaz
Použijte následující příkaz a jako repozitář klíčů zadejte podepsaný soubor APK:
keytool -printcert -jarfile <cesta/k/souboru/aplikace.apk>
Krok 3: Najděte otisk SHA-256
Výstup bude obsahovat sekci Certificate fingerprints (Otisky certifikátů). Vyhledejte řádek SHA-256.
Získání hodnoty SHA-256 ze souboru repozitáře klíčů
Jedná se o de facto standardní metodu extrahování otisku certifikátu ze zdrojového souboru repozitáře klíčů v libovolném operačním systému.
This is the de-facto method for extracting the certificate fingerprint from your source keystore file on any operating system.
Metoda 2: Použití standardního nástroje keytool
Krok 1: Vyhledejte nástroje a soubor repozitáře klíčů
Potřebujete:
- Soubor repozitáře klíčů: Soubor použitý k podepsání aplikace (.jks nebo .keystore). Musíte znát jeho cestu, heslo a název aliasu klíče v něm.
- Nástroj keytool: Tento nástroj je součástí sady Java Development Kit (JDK).
| Operační systém | Umístění nástroje keytool |
| Windows | Obvykle se nachází v adresáři bin instalace sady JDK (například C:\Program Files\Java\jdk-xx\bin\). |
| macOS/Linux | Po nainstalování sady JDK je všeobecně k dispozici přímo v terminálu. |
Krok 2: Přejděte do správného umístění
Otevřete terminál nebo příkazový řádek. Pokud si chcete zjednodušit další krok, můžete přejít do adresáře se souborem repozitáře klíčů:
Příklad: Použijte svou skutečnou cestu
cd /cesta/k/adresari/s/repozitarem/klicu
Krok 3: Spusťte příkaz
Následujícím příkazem požádejte nástroj keytool o vypsání podrobností o certifikátu.
Poznámka: Pokud nástroj keytool není rozpoznán, musíte zadat úplnou cestu k nástroji (například „/cesta/k/jdk/bin/keytool“).
keytool -list -v -keystore [nazev_repozitare_klicu.jks] -alias [alias_klice]
- [nazev_repozitare_klicu.jks] nahraďte skutečným názvem souboru.
- [alias_klice] nahraďte konkrétním názvem aliasu podpisového klíče (například mujklic).
Krok 4: Najděte otisk SHA-256
Nástroj vás vyzve k zadání hesla k repozitáři klíčů. Po zadání se zobrazí podrobnosti o certifikátu.
Vyhledejte sekci Certificate fingerprints (Otisky certifikátů):
Certificate fingerprints:
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
Signature algorithm name: SHA256withRSA
...
Dlouhý řetězec hexadecimálních znaků oddělených dvojtečkami vedle SHA256: je veřejný otisk SHA-256 certifikátu.