Používání podepisování aplikací na Google Play

Když budete používat podepisování aplikací na Google Play, společnost Google za vás bude spravovat a chránit podpisový klíč aplikace, pomocí kterého bude podepisovat vaše soubory APK určené k distribuci. Jedná se o bezpečný způsob uložení podpisového klíče aplikace, který vás pomůže ochránit v případě ztráty nebo prolomení klíče.

Důležité: Chcete-li používat doporučený formát publikování aplikací, kterým jsou balíčky Android App Bundle, musíte se před nahráním balíčku aplikace do služby Play Console zaregistrovat do podepisování aplikací na Google Play.

Chcete-li se přihlásit, musíte být vlastníkem účtu nebo uživatelem s oprávněním k vydávání v produkčním kanálu, vylučování zařízení a používání podepisování aplikací na Google Play a musíte přijmout smluvní podmínky. Do podepisování aplikací na Google Play můžete aplikace zaregistrovat jednu po druhé.

Princip

Když používáte podepisování aplikací na Google Play, vaše klíče jsou uloženy ve stejné infrastruktuře, ve které společnost Google uchovává i své vlastní klíče. Klíče chrání služba Key Management Service od Googlu. Další informace o technické infrastruktuře Googlu naleznete v informacích o zabezpečení služby Google Cloud.

Aplikace pro Android jsou opatřeny podpisem se soukromým klíčem. Aby byla zajištěna důvěryhodnost aktualizací aplikací, každý soukromý klíč má přiřazen veřejný certifikát, pomocí kterého zařízení a služby ověřují, zda aplikace pochází z důvěryhodného zdroje. Zařízení aktualizaci přijmou, jen když se podpis bude shodovat s podpisem nainstalované aplikace. Když správu podpisového klíče aplikace necháte na společnosti Google, bude tento proces ještě bezpečnější.

Poznámka: Použití podepisování aplikací na Google Play je nepovinné. Namísto použití balíčku aplikace můžete nahrát soubor APK a spravovat své vlastní klíče. Pokud ale repozitář klíčů ztratíte nebo bude prolomen, nebudete moci aplikaci aktualizovat a bude třeba publikovat novou aplikaci s novým názvem balíčku.

Popisy klíčů, artefaktů a nástrojů
Výraz Popis
Podpisový klíč aplikace

Klíč, který služba Google Play používá k podepisování souborů APK dodaných do zařízení uživatelů. Když se přihlásíte do podepisování aplikací na Google Play, buď nahrajete existující podpisový klíč aplikace, nebo vám ho vygeneruje Google.

Podpisový klíč aplikace se po dobu existence aplikace nemění. Podpisový klíč aplikace držte v tajnosti, s ostatními můžete sdílet veřejný certifikát aplikace.

Klíč pro nahrávání

Klíč, pomocí kterého zaregistrujete balíček aplikace nebo soubor APK před nahráním na Google Play. Klíč pro nahrávání držte v tajnosti, s ostatními můžete sdílet veřejný certifikát aplikace. Z bezpečnostních důvodů je dobré, aby se podpisový klíč aplikace od klíče pro nahrávání lišil.

Klíč pro nahrávání lze vygenerovat dvěma způsoby:

  • Pomocí podpisového klíče aplikace: Pokud si při přihlášení do podepisování aplikací necháte podpisový klíč aplikace vygenerovat od společnosti Google, bude jako klíč pro nahrávání určen klíč, který použijete pro první vydání.
  • Pomocí samostatného klíče pro nahrávání: Pokud při přihlášení do podepisování aplikací poskytnete vlastní podpisový klíč aplikace, kvůli lepší bezpečnosti dostanete možnost vygenerovat nový klíč pro nahrávání. Pokud žádný nevygenerujete, budete při podepisování jednotlivých vydání jako klíč pro nahrávání používat podpisový klíč aplikace.
Certifikát (.der nebo .pem)

Certifikát obsahuje veřejný klíč a další identifikační údaje o tom, kdo jej vlastní. Pomocí certifikátu veřejného klíče může kdokoli ověřit, kdo balíček aplikace nebo soubor APK podepsal, a můžete jej s kýmkoli sdílet, protože neobsahuje váš soukromý klíč.

Chcete-li své klíče zaregistrovat u poskytovatelů rozhraní API, můžete si veřejný certifikát podpisového klíče aplikace a klíče pro nahrávání stáhnout ze stránky Podepisování aplikací ve službě Play Console. Certifikát veřejného klíče je možné sdílet s kýmkoli. Neobsahuje váš soukromý klíč.

Otisk certifikátu

Krátká a unikátní verze certifikátu, kterou společně s názvem balíčku obvykle požadují poskytovatelé rozhraní API za účelem registrace aplikace do jejich služby.

Otisky MD5, SHA-1 a SHA-256 certifikátů klíče pro nahrávání a podpisových certifikátů aplikace naleznete ve službě Play Console na stránce Podepisování aplikací. Na stejné stránce lze stažením původního certifikátu (.der) vytvořit také další digitální otisky.

Úložiště klíčů Java (.js nebo .keystore) Repozitář bezpečnostních certifikátů a soukromých klíčů.
Nástroj PEPK (Play Encrypt Private Key)

Nástroj k exportování soukromých klíčů z úložiště klíčů Java Keystore a jejich šifrování za účelem převedení do služby Google Play.

Při poskytování podpisového klíče aplikace, který má Google použít, vyberte možnost k exportování a nahrání klíče (a případně také jeho veřejných certifikátů) a postupujte podle pokynů ke stažení a používání nástroje. Pokud chcete, můžete si stáhnout, zobrazit a používat otevřený zdrojový kód nástroje PEPK.

Postup podepisování aplikací

Soubory APK podepsané původním podpisovým klíčem aplikace můžete nahrát před tím i poté, co se přihlásíte do podepisování aplikací na Google Play.

Pokud začínáte používat balíčky aplikací, můžete je testovat v testovacích kanálech a stávající soubory APK používat v produkčním kanálu. Podepisování funguje následujícím způsobem:

  1. Podepište balíček aplikace nebo soubor APK a nahrajte ho do služby Play Console.
  2. Postup podepisování se liší v závislosti na tom, co nahrajete:
    • Balíček aplikace: Google z vašeho balíčku aplikace vygeneruje optimalizované soubory APK a podepíše je pomocí podpisového klíče aplikace.
    • Soubor APK podepsaný klíčem pro nahrávání: Google soubor APK ověří, vyjme z něj podpis a potom ho podepíše pomocí podpisového klíče aplikace.
    • Soubor APK podepsaný podpisovým klíčem aplikace: Google podpis ověří.
  3. Google uživatelům dodá podepsané soubory APK.

Přihlášení do podepisování aplikací na Google Play

Nové aplikace

Krok 1: Vytvoření klíče pro nahrávání

  1. Vytvořte klíč pro nahrávání podle těchto pokynů.
  2. Podepište svůj nový balíček APK klíčem pro nahrávání.

Krok 2: Příprava vydání

  1. Postupujte podle pokynů k přípravě a publikování vydání.
  2. Jakmile vyberete kanál, nakonfigurujte podepisování aplikací v sekci Nechat Google spravovat a chránit podpisový klíč aplikace.
  3. Vyberte Pokračovat, chcete-li z vygenerovaného klíče udělat klíč pro nahrávání, pomocí kterého budete podepisovat budoucí vydání, případně vyberte Nastavení podepisování aplikací, které obsahuje tyto možnosti:
    • Použít stejný klíč jako jiná aplikace ve vašem účtu vývojáře (možnost 2).
    • Exportovat a nahrát existující klíč z repozitáře klíčů Java (možnost 3) nebo při tom nepoužívat repozitář klíčů Java (možnost 4). Vyberte možnost exportu a nahrávání, která vám nejlépe vyhovuje. Po nahrání podpisového klíče aplikace a jeho veřejných certifikátů můžete vytvořit klíč pro nahrávání nebo jako klíč pro nahrávání nadále používat podpisový klíč aplikace.
    • Odhlásit se z podepisování aplikací na Google Play (možnost 4).
  4. Vyberte Aktualizovat.

Poznámka: Abyste mohli pokračovat, bude nutné přijmout smluvní podmínky a přihlásit se do podepisování aplikací.

Krok 3: Registrace podpisového klíče aplikace u poskytovatelů rozhraní API

Pokud vaše aplikace používá jakékoli rozhraní API, zpravidla bude třeba zaregistrovat certifikát klíče, kterým Google aplikaci podepisuje pro účely ověření, za pomoci otisku certifikátu. Certifikát naleznete tímto způsobem:

  1. Otevřete Play Console.
  2. V nabídce vlevo vyberte Vydání > Nastavení > Podepisování aplikací.
  3. Přejděte do sekce Certifikát podpisového klíče aplikace a zkopírujte otisky podpisového certifikátu aplikace (MD5, SHA-1 a SHA-256).
    • Pokud poskytovatel rozhraní API vyžaduje jiný typ otisku, můžete si stáhnout původní certifikát ve formátu .der a převést jej pomocí nástrojů na transformaci, které poskytovatel rozhraní API požaduje.
Stávající aplikace

Krok 1: Registrace do podepisování aplikací na Google Play

  1. Otevřete Play Console.
  2. Vyberte aplikaci.
  3. V nabídce vlevo vyberte Vydání > Nastavení > Podepisování aplikací.
  4. Pokud jste tak ještě neučinili, přečtěte si smluvní podmínky a vyberte Přijmout.

Krok 2: Odeslání původního klíče do Googlu a vytvoření klíče pro nahrávání

  1. Najděte svůj původní podpisový klíč aplikace.
  2. Otevřete Play Console.
  3. Vyberte aplikaci.
  4. V nabídce vlevo vyberte Vydání > Nastavení > Podepisování aplikací.
  5. Vyberte možnost exportování a nahrání, která vašemu procesu vydávání nejvíc vyhovuje, a nahrajte stávající podpisový klíč aplikace.

Krok 3: Vytvoření klíče pro nahrávání (volitelné, ale doporučené)

  1. Vytvořte klíč pro nahrání a nahrajte certifikát do služby Google Play.
    • Jako klíč pro nahrávání můžete také nadále používat podpisový klíč aplikace.
  2. Zkopírujte otisky podpisového certifikátu aplikace (MD5, SHA-1 a SHA-256).
    • Pro účely testování možná budete muset u poskytovatelů rozhraní API zaregistrovat pomocí otisku certifikátu certifikát klíče pro nahrávání a také podpisový klíč aplikace.

Krok 4: Podepsání další aktualizace aplikace pomocí klíče pro nahrávání

Když vydáváte aktualizace aplikace, musíte je podepsat pomocí klíče pro nahrávání.

  • Pokud jste nový klíč pro nahrávání nevygenerovali: Podepisujte vydání před nahráním na Google Play nadále pomocí původního podpisového klíče aplikace. Pokud podpisový klíč aplikace ztratíte, můžete vygenerovat nový klíč pro nahrávání a zaregistrovat jej na Googlu, abyste aplikaci mohli nadále aktualizovat.
  • Pokud jste nový klíč pro nahrávání vygenerovali: Podepisujte vydání před nahráním na Google Play pomocí nového klíče pro nahrávání. Jakmile je nahrajete, Google ve vydání zkontroluje klíč pro nahrávání, a tím ověří vaši identitu. Pokud klíč pro nahrávání ztratíte, požádejte podporu o resetování.

Vytvoření klíče pro nahrávání a aktualizace repozitářů klíčů

Kvůli lepšímu zabezpečení doporučujeme podepsat aplikaci nikoli pomocí podpisového klíče aplikace, ale pomocí nového klíče pro nahrávání.

Klíč pro nahrávání můžete vytvořit buď během registrace do podepisování aplikací na Google Play, nebo později v sekci Správa vydání > Podepisování aplikací.

Postup vytvoření klíče pro nahrávání

  1. Postupujte podle pokynů na webu Android Developers. Klíč uschovejte na bezpečném místě.
  2. Certifikát pro klíč pro nahrávání exportujte do formátu PEM. Nahraďte následující podtržené argumenty:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Až k tomu budete v rámci procesu vydávání vyzváni, nahrajte certifikát a tím jej na Googlu zaregistrujte.

Při použití klíče pro nahrávání:

  • Klíč pro nahrávání je zaregistrován pouze u Googlu za účelem ověření totožnosti autora aplikace.
  • Než se nahrané balíčky APK odešlou uživatelům, váš podpis z nich bude odstraněn.
Požadavky na klíč pro nahrávání
  • Musí se jednat o klíč RSA dlouhý alespoň 2048 bitů.
Aktualizace úložišť klíčů

Po vytvoření klíče pro nahrávání doporučujeme zkontrolovat a aktualizovat některá místa:

  • místní počítače,
  • uzamčený místní server (různé seznamy ACL),
  • cloudový počítač (různé seznamy ACL),
  • speciální služby pro správu tajných klíčů,
  • repozitáře (Git).

Upgrade podpisového klíče aplikace pro nové instalace

V některých případech můžete požádat o upgrade podpisového klíče aplikace. Nový klíč bude sloužit k podepisování nových instalací a aktualizací aplikace. Pomocí staršího podpisového klíče aplikace budou nadále podepisovány aktualizace u uživatelů, kteří si aplikaci nainstalovali před upgradem klíče.

U každé aplikace lze podpisový klíč upgradovat jen jednou za celou dobu existence aplikace. V málo pravděpodobném případě, že budete pomocí stejného podpisového klíče spouštět stejný proces ve více aplikacích, u těchto aplikací nebude možné klíč upgradovat.

O upgrade podpisového klíče aplikace můžete požádat ze dvou důvodů:

  • Potřebujete kryptograficky silnější klíč.
  • Váš podpisový klíč aplikace byl prolomen.

Poznámka: Žádost o upgrade podpisového klíče aplikace ve službě Play Console nesouvisí se změnou klíče, která byla zavedena v rámci verze 3 schématu podepisování souborů APK pro systém Android P a novější. Služba Google Play tento typ změny klíče momentálně nepodporuje.

Důležité informace před žádostí o upgrade klíče

Než o upgrade klíče požádáte, je důležité vědět, jaké změny možná budete muset po dokončení upgradu provést.

  • Pokud pro několik aplikací používáte stejný podpisový klíč aplikace, abyste mezi nimi mohli sdílet kód či data, je nutné je aktualizovat tak, aby rozpoznávaly certifikáty nového i staršího podpisového klíče aplikace.
  • Pokud vaše aplikace používá rozhraní API, nezapomeňte certifikáty nového i staršího podpisového klíče aplikace zaregistrovat u poskytovatelů rozhraní API, abyste zajistili, že rozhraní API budou nadále fungovat. Certifikáty jsou k dispozici na stránce Podepisování aplikací ve službě Play Console.  
  • Pokud mnoho vašich uživatelů instaluje aktualizace vzájemným sdílením mezi uživateli, budou moci nainstalovat pouze aktualizace podepsané stejným klíčem, jakým je podepsána verze aplikace, kterou už mají nainstalovanou. Pokud aplikaci nemohou aktualizovat proto, že mají verzi aplikace podepsanou jiným klíčem, mají možnost aktualizaci získat tak, že aplikaci odinstalují a poté znovu nainstalují.
Žádost o upgrade klíče pro nové instalace
  1. Přihlaste se do Play Console.
  2. Vyberte aplikaci.
  3. V nabídce vlevo vyberte Vydání > Nastavení > Podepisování aplikací.
  4. Na kartě „Upgrade podpisového klíče aplikace pro nové instalace“ vyberte Požádat o upgrade klíče.
  5. Vyberte jednu z možností.
    • V závislosti na možnosti, kterou vyberete, možná bude nutné kontaktovat podporu, abyste požadavek mohli dokončit.
  6. Nechte si od Googlu vygenerovat nový podpisový klíč aplikace (doporučeno), nebo nějaký nahrajte.
    • Pokud jste k podepisování aplikací používali stejný klíč, jako je klíč pro nahrávání, po upgradu podpisového klíče aplikace můžete jako klíč pro nahrávání nadále používat starší podpisový klíč aplikace, nebo vygenerovat nový klíč pro nahrávání.

Doporučené postupy

  • Pokud aplikaci distribuujete také mimo Google Play nebo to plánujete později a chcete použít stejný podpisový klíč, máte dvě možnosti:
    • Můžete Google nechat vygenerovat klíč (doporučeno) a poté z průzkumníka balíčků aplikace stáhnout podepsaný univerzální soubor APK k distribuci mimo Google Play. Podepsané soubory APK si také můžete stáhnout z rozhraní Google Play Developer API. 
    • Případně 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ž se budete přihlašovat k podepisování aplikací na Google Play.
  • Za účelem ochrany vašeho účtu zapněte dvoufázové ověření v účtech s přístupem k vašemu účtu Play Console.
  • Jakmile balíček aplikace publikujete do testovacího nebo produkčního kanálu, můžete přejít do průzkumníku balíčku aplikací, kde lze stáhnout archiv ZIP se všemi soubory APK určenými pro konkrétní zařízení. Tyto soubory APK jsou podepsané pomocí podpisového klíče aplikace a z archivu ZIP je do zařízení můžete nainstalovat pomocí příkazu adb install-multiple *.apk.
  • Kvůli lepšímu zabezpečení vygenerujte nový klíč pro nahrávání, který se liší od podpisového klíče aplikace.
  • Chcete-li soubor APK podepsaný klíčem pro nahrávání otestovat, je nutné klíč pro nahrávání zaregistrovat do nějaké služby nebo rozhraní API, které podpis vaší aplikace použije k ověření (např. Google Maps API nebo Facebook SDK).
  • Použijete-li rozhraní API od Googlu, můžete certifikát k nahrávání pro svou aplikaci zaregistrovat v konzoli Google Cloud Console.

Ztráta nebo prolomení klíče pro nahrávání

Pokud jste svůj soukromý klíč pro nahrávání ztratili nebo byl prolomen, můžete vytvořit nový a požádat vlastníka účtu, aby požádal tým podpory o resetování klíče. Při kontaktování podpory musí vlastník účtu přiložit soubor upload_certificate.pem.

Až náš tým podpory nový klíč pro nahrávání zaregistruje, dostanete e-mail a pak budete moci aktualizovat úložiště klíčů a zaregistrovat klíč u poskytovatelů rozhraní API.

Důležité: Resetování klíče pro nahrávání neovlivní podpisový klíč aplikace, pomocí kterého Google Play opětovně podepisuje soubory APK před distribucí uživatelům.

Pomohly vám tyto informace?
Jak bychom článek mohli vylepšit?

Potřebujete další pomoc?

Chcete-li problém rychle vyřešit, přihlaste se a získejte další možnosti podpory