Proč používat podepisování aplikací ve službě Play? Kromě ochrany klíčů před trvalou ztrátou nebo prolomením vám registrace do podepisování aplikací ve službě Play umožní využívat vylepšení pro balíčky Android App Bundle (.aab). Když necháte společnost Google podepisovat optimalizované soubory APK pro distribuci vygenerované z balíčků aplikací, získáte přístup k cenným službám, jako je automatická ochrana a automatický překlad řetězců pomocí modelů Gemini. Hry získají přístup k dalším automatickým službám, jako jsou Play Games Sidekick, hraní při stahování a zkušební období bez dalších poplatků pro placené tituly.
Pokud chcete nakonfigurovat podepisování aplikací ve službě Play, musíte být vlastníkem účtu nebo mít oprávnění Vydávání v produkční verzi, vyloučení zařízení a používání programu podepisování aplikací ve službě Play a přijmout smluvní podmínky.
Základní koncepty
Když používáte podepisování aplikací ve službě Play, pracujete se dvěma různými klíči. Abyste předešli problémům s ověřením u rozhraní API třetích stran, je důležité rozumět rozdílu mezi nimi a jejich technickým formátům.
| Typ klíče | Kdo ho drží? | Technické podrobnosti a účel |
|
Klíč pro nahrávání |
Vy (chraňte ho!) |
|
| Podpisový klíč aplikace |
Google Play |
|
| Připraveno na kvantové počítače | Google Play |
|
Poznámka: Pro maximální zabezpečení by se klíč pro nahrávání a podpisový klíč aplikace měly lišit.
Jak Google aplikaci podepisuje: Když Google vygeneruje a podepíše vaše soubory APK pomocí podpisového klíče aplikace, přidá pomocí nástroje apksigner do manifestu aplikace dvě razítka (com.android.stamp.source a com.android.stamp.type). Tato razítka zajišťují, že lze soubory APK bezpečně vystopovat k původnímu signatáři.
Nastavení podepisování aplikací ve službě Play
Proces nastavení závisí na tom, zda publikujete novou aplikaci, nebo migrujete stávající.
Pro nové aplikace
- Vytvořte novou aplikaci: Aplikace bude automaticky zaregistrována do hybridního podepisování připraveného na kvantové počítače s klíči vygenerovanými Googlem. Vygenerujeme také samostatný klasický klíč, který se použije v podpisových blocích rozpoznávaných na zařízeních s Androidem 16 a starším.
- Vytvořte klíč pro nahrávání: Vygenerujte úložiště klíčů k podepsání balíčku aplikace vydání. Můžete ho vygenerovat v nástroji Android Studio nebo použít nástroj keytool pro Javu z příkazového řádku.
- Nahrajte balíček aplikace: Přejděte do Play Console a připravte nové vydání. Když nahrajete balíček aplikace, aplikace se ve výchozím nastavení automaticky zaregistruje do hybridního podepisování připraveného na kvantové počítače s klíči vygenerovanými Googlem.
- Změna podpisového klíče aplikace (volitelné): Pokročilí vývojáři, kteří chtějí spravovat vlastní klíč, mohou tuto výchozí hodnotu změnit. Můžete to provést tak, že v sekci Integrita aplikace daného vydání kliknete na Změnit podpisový klíč nebo že přejdete na Ochrana od Google Play > Ochrana Obchodu Play > Spravovat podepisování aplikací ve službě Play. Pak máte na výběr z těchto možností:
- Použít stejný klíč jako jiná aplikace v tomto účtu vývojáře
- Poskytněte kopii podpisového klíče aplikace (podle pokynů)
Stávající aplikace
Pokud v současné době spravujete vlastní klíče a nahráváte soubory APK, můžete upgradovat na podepisování aplikací ve službě Play, abyste mohli využívat výhody balíčků aplikací a vylepšení služby Play.
- V Play Console přejděte na Ochrana od Google Play > Ochrana Obchodu Play > Přejít na podepisování aplikací ve službě Play.
- Pokud jste to ještě neudělali, přijměte smluvní podmínky.
- Přeneste kopii původního klíče: Stáhněte si nástroj PEPK a podle unifikovaných podrobných pokynů zašifrujte a nahrajte stávající podpisový klíč aplikace z libovolného repozitáře.
Registrace u poskytovatelů rozhraní API
Pokud vaše aplikace používá rozhraní API (například Mapy Google, OAuth nebo přihlášení přes Facebook), tyto služby ji ověřují pomocí otisku podpisového klíče aplikace.
Protože konečný soubor APK podepisuje Google, musíte u poskytovatelů rozhraní API zaregistrovat otisk podpisového klíče aplikace, který vlastní Google, a ne jen místní klíč pro nahrávání.
- Přejděte na Ochrana od Google Play > Distribuce v Obchodu Play > Přejít na podepisování aplikací ve službě Play.
- Přejděte do sekce Podpisový klíč aplikace.
- Zkopírujte požadované otisky (SHA-1 nebo SHA-256). Pokud vaše aplikace používá hybridní podepisování připravené na kvantové počítače, musíte zkopírovat otisky tří klíčů a každý z nich zaregistrovat u poskytovatelů rozhraní API: nový klasický klíč a klíč pro postkvantovou kryptografii používaný na novějších zařízeních a klasický klíč používaný na starších zařízeních.
- Tyto otisky vložte do konzole poskytovatele rozhraní API (například Google Cloud Console).
Tip: Pokud používáte funkci Android App Links, aktualizujte soubor assetlinks.json o tyto otisky.
Správa klíčů
Upgrade podpisového klíče aplikace
Pokud byl váš podpisový klíč aplikace prolomen nebo potřebujete kryptograficky silnější klíč, můžete požádat o roční upgrade klíče pro všechny instalace na Androidu N (úroveň rozhraní API 24) a vyšším.
Jak vymáhání funguje v různých verzích Androidu:
- Android T (úroveň rozhraní API 33) a vyšší: Platforma Android striktně vynucuje použití upgradovaného klíče.
- Android N (úroveň rozhraní API 24) až Android S (úroveň rozhraní API 32): Platforma Android sama nevynucuje použití upgradovaného klíče a stále uznává starší podpisový klíč. Služba Google Play Protect ale poskytuje další ověření tím, že kontroluje, zda jsou aktualizace aplikací podepsány upgradovaným klíčem (pokud uživatel tuto funkci nevypne).
Důležitá poznámka:
- Sdílená data: Protože platforma nevynucuje na Androidu S (úroveň rozhraní API 32) a nižších verzích použití upgradovaného klíče, pokud používáte stejný klíč pro více aplikací ke sdílení dat, tyto starší verze Androidu budou pro funkce, jako je sdílení vlastních oprávnění, rozpoznávat pouze starší klíč.
Jak upgradovat:
- Přejděte na Ochrana od Google Play > Distribuce v Obchodu Play > Přejít na podepisování aplikací ve službě Play.
- V sekci Podpisový klíč aplikace klikněte na Upgradovat klíč.
- Vyberte si způsob upgradu:
- Nechat Google Play vygenerovat nový podpisový klíč aplikace (doporučeno)
- Použít stejný podpisový klíč aplikace jako jiná aplikace v tomto účtu vývojáře
- Poskytněte kopii podpisového klíče aplikace (podle pokynů).
- Klikněte na Uložit a zaregistrujte nové otisky klíčů u poskytovatelů rozhraní API.
Žádost o resetování klíče pro nahrávání
Pokud klíč pro nahrávání ztratíte nebo máte podezření, že byl prolomen, k aplikaci se dál dostanete.
- V nástroji Android Studio vytvořte nový klíč pro nahrávání.
- Exportujte certifikát do formátu PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Další nápovědu k nástroji keytool a cestám k repozitáři klíčů najdete v průvodci podepisováním aplikací v Android Studiu). - Po vygenerování souboru PEM odešlete v Play Console žádost o resetování.
- Přejděte na Ochrana od Google Play > Ochrana Obchodu Play > Spravovat podepisování aplikací ve službě Play.
- V sekci Certifikát klíče pro nahrávání klikněte na Požádat o resetování klíče pro nahrávání.
- Zadejte důvod resetování.
- Nahrajte soubor
upload_certificate.pema klikněte na Požádat.
Doporučené postupy a alternativní distribuce
- Zabezpečení: Chraňte svůj přístup k Play Console tím, že budete u všech uživatelů vyžadovat dvoufázové ověření.
- Vylepšení služby Play: Registrací do podepisování aplikací ve službě Play získáte pro své balíčky aplikací přístup k vylepšením služby Play. Pokud chcete obdržet aktualizace, nejdříve při vytváření nového vydání proveďte potřebné změny a poté nahrajte nový balíček aplikace.
- Distribuce mimo Google Play: Pokud aplikaci distribuujete prostřednictvím jiných obchodů s aplikacemi a chcete všude používat stejný podpisový klíč, máte dvě možnosti. [1] Můžete nechat Google vygenerovat podpisový klíč aplikace a stáhnout si podepsaný univerzální soubor APK z Play Console nebo Play Developer API a distribuovat ho jinde (v Play Console přejděte na Testování a vydání > Nejnovější vydání a balíčky, vyberte balíček aplikace a klikněte na kartu Stahování). [2] Můžete vygenerovat podpisový klíč aplikace, který chcete používat pro všechny obchody s aplikacemi, a poté do Googlu nahrát jeho kopii, až budete konfigurovat podepisování aplikací ve službě Play. Přečtěte si další informace o tom, jak aktualizace aplikací fungují a jaké máte možnosti povolení nebo zakázání aktualizací napříč obchody.
- Testování: Pomocí interního sdílení aplikací otestujte, co přesně bude Google Play uživatelům doručovat, nebo si z průzkumníku balíčků aplikací stáhněte soubory APK pro konkrétní zařízení a nainstalujte je místně pomocí příkazu adb install-multiple *
.apk. - Schéma podpisu balíčku APK verze 4: Podepisování aplikací ve službě Play používá u způsobilých aplikací automaticky podepisování verze 4, aby podporovalo optimalizovanou distribuci na zařízeních s Androidem 11 nebo novějším. Nemusíte podnikat žádnou akci. To vylučuje všechny aplikace, které používají hybridní podepisování připravené na kvantové počítače, které s podepisováním verze 4 ještě není kompatibilní. Další informace o technických výhodách najdete v dokumentaci ke schématu podpisu balíčku APK verze 4.
- Samostatně hostované projekty Google Cloud: Pokud máte velmi specifické bezpečnostní požadavky (například používáte klíče OEM), můžete se do podepisování aplikací ve službě Play zaregistrovat pomocí rozhraní Play Developer API a samostatně hostovaného projektu Google Cloud. Poznámka: Jedná se o nestandardní nastavení, které nedoporučujeme. Používání samostatně hostovaného projektu znamená, že přebíráte plnou odpovědnost za operace podepisování aplikací a Google Play nemůže provádět základní funkce, jako je obnovení po havárii.