Ako používať podpisovanie aplikácií v službe Play

Google prostredníctvom podpisovania aplikácií v službe Play spravuje a chráni podpisový kľúč vašej aplikácie a podpisuje ním optimalizované súbory APK na distribúciu, ktoré sú generované z balíkov vašej aplikácie. Podpisovanie aplikácií v službe Play uchováva váš podpisový kľúč aplikácie v zabezpečenej infraštruktúre Googlu a ponúka možnosti inovácie na zvýšenie zabezpečenia.

Ak chcete používať podpisovanie aplikácií v službe Play, musíte byť vlastníkom účtu alebo používateľom s povolením Vydávanie do ostrej verzie, vylučovanie zariadení a používanie podpisovania aplikácií v službe Play. Tiež musíte prijať zmluvné podmienky služby Podpisovanie aplikácií v službe Play.

Ako to funguje

Keď používate podpisovanie aplikácií v službe Play, kľúče sú uchovávané v rovnakej zabezpečenej infraštruktúre, pomocou ktorej Google ukladá vlastné kľúče. Kľúče sú chránené službou správy kľúčov od Googlu. Ak sa chcete dozvedieť viac o infraštruktúre Googlu, prečítajte si bezpečnostnú štúdiu služby Google Cloud.

Aplikácie pre Android sa podpisujú súkromným kľúčom. Každý súkromný kľúč je spojený s verejným certifikátom, pomocou ktorého môžu zariadenia a služby overiť, či príslušná aktualizácia aplikácie pochádza z rovnakého zdroja. Zaistí sa tým dôveryhodnosť aktualizácií aplikácie. Zariadenia prijmú aktualizácie iba vtedy, keď sa ich podpis zhoduje s podpisom nainštalovanej aplikácie. Tým, že necháte Google spravovať podpisový kľúč aplikácie, zvyšujete zabezpečenie tohto procesu.

Poznámka: V prípade aplikácií vytvorených pred augustom 2021 môžete stále nahrať súbor APK a spravovať vlastné kľúče namiesto použitia podpisovania aplikácií v službe Play a zverejnenia pomocou balíka Android App Bundle. Ak však stratíte úložisko kľúčov alebo ho niekto napadne, aplikáciu nebudete môcť aktualizovať, takže budete musieť zverejniť novú aplikáciu s novým názvom balíka. Play pre tieto aplikácie odporúča používať podpisovanie aplikácií v službe Play a prejsť na balíky aplikácie.

Popisy kľúčov, artefaktov a nástrojov
Pojem Popis
Podpisový kľúč aplikácie

Kľúč, ktorým Google Play podpisuje súbory APK doručované do zariadenia používateľa. Pri použití podpisovania aplikácií v službe Play môžete buď nahrať existujúci podpisový kľúč aplikácie, alebo vybrať, aby ho pre vás Google vygeneroval.

Udržujte ho preto v tajnosti. Verejný certifikát aplikácie však môžete zdieľať s kýmkoľvek.

Kľúč nahrávania

Kľúč, ktorým podpisujete balík aplikácie predtým, ako ho nahráte na Google Play. Udržujte ho v tajnosti. Verejný certifikát aplikácie však môžete zdieľať s kýmkoľvek. Z bezpečnostných dôvodov odporúčame používať podpisový kľúč aplikácie a kľúč nahrávania, ktoré sa od seba líšia.

Existujú dva spôsoby, ako vygenerovať kľúč nahrávania:

  • Podpisovým kľúčom aplikácie: ak vám Google vygeneruje podpisový kľúč aplikácie, kľúč nahrávania bude ten kľúč, ktorým podpíšete prvé vydanie.
  • Samostatným kľúčom nahrávania: ak poskytnete vlastný podpisový kľúč aplikácie, budete mať k dispozícii možnosť generovať nový kľúč nahrávania, čím sa zvýši zabezpečenie. Ak ho nevygenerujete, používajte podpisový kľúč aplikácie ako kľúč nahrávania na podpisovanie vydaní.
Certifikát (.der alebo .pem)

Certifikát obsahuje verejný kľúč aj ďalšie identifikačné údaje o jeho vlastníkovi. Verejný certifikát kľúča umožňuje komukoľvek overiť, kto podpísal balík aplikácie alebo súbor APK. Môžete ho s kýmkoľvek zdieľať, pretože neobsahuje súkromný kľúč.

Na stránke Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie) v službe Play Console môžete stiahnuť verejný certifikát pre podpisový kľúč aplikácie a kľúč nahrávania, aby ste ich mohli zaregistrovať u poskytovateľov rozhraní API. Verejný certifikát kľúča môžete zdieľať s kýmkoľvek. Neobsahuje váš súkromný kľúč.

Digitálny odtlačok certifikátu

Krátka a jedinečná podoba certifikátu, ktorá je spolu s názvom balíka často vyžadovaná poskytovateľmi rozhraní API na registráciu aplikácie, aby bolo možné používať ich službu.

Digitálne odtlačky MD5, SHA‑1 a SHA‑256 certifikátu nahrávania a podpisového certifikátu aplikácie nájdete na Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie) v službe Play Console. Ďalšie digitálne odtlačky sa dajú vypočítať z pôvodného certifikátu (.der), ktorý si môžete stiahnuť na rovnakej stránke.

Úložisko kľúčov Java Keystore (.jks alebo .keystore) Odkladací priestor bezpečnostných certifikátov a súkromných kľúčov.
Nástroj PEPK (Play Encrypt Private Key)

Nástroj na export súkromných kľúčov z úložiska kľúčov Java Keystore a ich šifrovanie na prenos do služby Google Play.

Keď poskytujete Googlu podpisový kľúč aplikácie, vyberte možnosť na exportovanie a nahranie kľúča (a ak sa vyžaduje, aj jeho verejného certifikátu). Potom si tento nástroj stiahnite a používajte podľa uvedených pokynov. Ak chcete, môžete si stiahnuť, skontrolovať a používať otvorený zdrojový kód nástroja PEPK.

Proces podpisovania aplikácií

Tento proces prebieha nasledovne:

  1. Podpíšte svoj balík aplikácie a nahrajte ho do služby Play Console.
  2. Google vygeneruje optimalizované súbory APK z balíka aplikácie a podpíše ich podpisovým kľúčom aplikácie.
  3. Google pomocou nástroja apksigner pridá do manifestu aplikácie dve pečiatky (com.android.stamp.sourcecom.android.stamp.type) a potom podpíše súbory APK vaším podpisovým kľúčom aplikácie. Pečiatky pridané nástrojom apksigner umožňujú zo súborov APK zistiť, kto ich podpísal.
  4. Google doručí podpísané súbory APK používateľom.

Konfigurácia podpisovania aplikácií v službe Play

Pokyny pre aplikácie vytvorené po auguste 2021

1. krok: vytvorte kľúč nahrávania

  1. Vytvorte kľúč nahrávania podľa týchto pokynov.
  2. Podpíšte svoj balík aplikácie kľúčom nahrávania.

2. krok: pripravte vydanie

  1. Pripravte vydanie a uveďte ho na trh podľa pokynov.
  2. Po výbere kanála bude v sekcii Integrita aplikácie zobrazený stav podpisovania aplikácií v službe Play pre vašu aplikáciu.
  3. Ak chcete pokračovať s podpisovým kľúčom aplikácie vygenerovaným Googlom, nahrajte svoj balík aplikácie. Prípadne môžete vybrať Zmeniť podpisový kľúč aplikácie a získať tak prístup k nasledujúcim možnostiam:
    • Použiť podpisový kľúč aplikácie vygenerovaný Googlom: viac ako 90 % nových aplikácií používa podpisové kľúče aplikácie vygenerované Googlom. Používanie kľúča vygenerovaného Googlom chráni pred stratou alebo napadnutím (kľúč sa nedá stiahnuť). Ak vyberiete túto možnosť, môžete si stiahnuť distribučné súbory APK z prieskumníka balíkov aplikácie podpísané kľúčom vygenerovaným Googlom pre iné distribučné kanály, prípadne môžete pre ne použiť iný kľúč.
    • Použiť iný podpisový kľúč aplikácie: výber podpisového kľúča aplikácie vám umožní použiť v účte vývojára rovnaký kľúč ako iná aplikácia, prípadne si uchovať miestnu kópiu svojho podpisového kľúča aplikácie, čím zvýšite flexibilitu. Už môžete mať napríklad vybraný kľúč, pretože vaša aplikácia je predinštalovaná v niektorých zariadeniach. Uloženie kópie kľúča mimo serverov Googlu zvyšuje riziko pri odhalení tejto miestnej kópie. Máte nasledujúce možnosti, ako použiť iný kľúč:
      • použiť rovnaký podpisový kľúč aplikácie ako v prípade ďalšej aplikácie v tomto účte vývojára;
      • exportovať a nahrať kľúč z úložiska kľúčov Java Keystore;
      • exportovať a nahrať kľúč (nepoužiť úložisko kľúčov Java Keystore).
  4. Dokončite zvyšné pokyny na prípravu a uvedenie vydania na trh.

Poznámka: Ak chcete pokračovať, musíte prijať zmluvné podmienky a prihlásiť sa na podpisovanie aplikácií.

3 krok: zaregistrujte podpisový kľúč aplikácie u poskytovateľov rozhraní API

Ak vaša aplikácia používa rozhrania API, zvyčajne si musíte na účely overenia totožnosti pomocou digitálneho odtlačku certifikátu zaregistrovať podpisový kľúč aplikácie. Certifikát nájdete takto:

  1. Otvorte Play Console a prejdite na stránku Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie).
  2. Posuňte zobrazenie do sekcie Certifikát podpisového kľúča aplikácie a skopírujte digitálne odtlačky (MD5, SHA‑1 a SHA‑256) podpisového certifikátu aplikácie.
    • Ak poskytovateľ rozhrania API vyžaduje iný typ digitálneho odtlačku, môžete tiež stiahnuť pôvodný certifikát vo formáte .der a konvertovať ho prostredníctvom transformačných nástrojov vyžadovaných poskytovateľom rozhrania API.
Požiadavky na podpisový kľúč aplikácie

Keď použijete kľúč vygenerovaný Googlom, Google automaticky vygeneruje kryptograficky silný kľúč RSA, ktorý má 4 096 bitov. Ak chcete nahrať vlastný podpisový kľúč aplikácie, musí to byť kľúč RSA s dĺžkou minimálne 1 024 bitov.

Pokyny pre aplikácie vytvorené pred augustom 2021

1. krok: nakonfigurujte podpisovanie aplikácií v službe Play

  1. Otvorte Play Console a prejdite na stránku Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie).
  2. Ak ste to ešte neurobili, prečítajte si zmluvné podmienky služby Podpisovanie aplikácií v službe Play a vyberte Prijať.

2. krok: odošlite kópiu svojho pôvodného kľúča Googlu a vytvorte kľúč nahrávania

  1. Nájdite pôvodný podpisový kľúč aplikácie.
  2. Otvorte Play Console a prejdite na stránku Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie).
  3. Vyberte možnosť exportovania a nahrania, ktorá je pre váš proces vydávania najvhodnejšia, a nahrajte existujúci podpisový kľúč aplikácie.

3. krok: vytvorte kľúč nahrávania (nepovinné a odporúčané)

  1. Vytvorte kľúč nahrávania a nahrajte certifikát na Google Play.
    • Môžete tiež naďalej používať podpisový kľúč aplikácie ako kľúč nahrávania.
  2. Skopírujte digitálne odtlačky (MD5, SHA-1 a SHA-256) podpisového certifikátu svojej aplikácie.
    • Na účely testovania budete musieť zrejme zaregistrovať certifikát kľúča nahrávania u poskytovateľov rozhraní API pomocou jeho digitálneho odtlačku a podpisového kľúča aplikácie.

4. krok: podpíšte ďalšiu aktualizáciu aplikácie kľúčom nahrávania

Keď vydáte aktualizácie aplikácie, musíte ich podpísať kľúčom nahrávania.

  • Ak ste nevygenerovali nový kľúč nahrávania: naďalej podpisujte balíky aplikácie pôvodným podpisovým kľúčom aplikácie pred nahraním na Google Play. Ak o pôvodný podpisový kľúč aplikácie prídete, môžete vygenerovať nový kľúč nahrávania a zaregistrovať ho na Googli, aby ste mohli aplikáciu naďalej aktualizovať.
  • Ak ste vygenerovali nový kľúč nahrávania: podpisujte ním balíky aplikácie pred nahraním na Google Play. Google pomocou kľúča nahrávania overí vašu totožnosť. Ak o kľúč nahrávania prídete, môžete kontaktovať podporu a požiadať o jeho resetovanie.

Vytvorenie kľúča nahrávania a aktualizácia úložísk kľúčov

Ak chcete zvýšiť zabezpečenie, odporúčame podpísať aplikáciu novým kľúčom nahrávania, a nie podpisovým kľúčom aplikácie.

Kľúč nahrávania môžete vytvoriť pri prihlásení sa do programu podpisovania aplikácií v službe Play, prípadne to môžete urobiť neskôr na stránke Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie).

Kľúč nahrávania vytvoríte takto:

  1. Postupujte podľa pokynov na webe Android Developers. Kľúč uchovajte na bezpečnom mieste.
  2. Exportujte certifikát pre kľúč nahrávania do formátu PEM. Nahraďte nasledujúce podčiarknuté argumenty:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Keď sa počas procesu vydávania zobrazí výzva, zaregistrujte svoj kľúč nahrávania na Googli tak, že nahráte jeho certifikát.

Keď použijete kľúč nahrávania:

  • Kľúč nahrávania je zaregistrovaný iba na Googli, a to na overovanie totožnosti tvorcu aplikácie.
  • Z nahraných súborov APK je odstránený váš podpis ešte predtým, ako sú odoslané používateľom.
Požiadavky na kľúč nahrávania
  • Musí to byť kľúč RSA s dĺžkou minimálne 2 048 bitov.
Aktualizácia úložísk kľúčov

Po vytvorení kľúča nahrávania odporúčame aktualizovať niektoré nasledujúce úložiská kľúčov:

  • miestne zariadenia,
  • zamknutý server na webe (rôzne zoznamy ACL),
  • cloudové zariadenie (rôzne zoznamy ACL),
  • vyhradené služby na správu tajných položiek,
  • odkladacie priestory (Git).

Inovácia podpisového kľúča aplikácie pre nové inštalácie

V niektorých prípadoch môžete požiadať o inováciu podpisového kľúča aplikácie. Nový kľúč sa bude používať na podpisovanie nových inštalácií a aktualizácií aplikácie. Pomocou starého podpisového kľúča aplikácie sa budú stále podpisovať aktualizácie pre používateľov, ktorí si vašu aplikáciu nainštalovali ešte pred inováciou kľúča.

Podpisový kľúč každej aplikácie je možné inovovať iba raz. V nepravdepodobnom prípade, že máte viac aplikácií používajúcich rovnaký podpisový kľúč výhradne na spúšťanie v rámci rovnakého procesu, nebudete môcť inováciu v ich prípade použiť.

Nižšie sú uvedené dva dôvody na požiadanie o inováciu podpisového kľúča aplikácie:

  • Potrebujete kľúč s účinnejšou kryptografiou.
  • Podpisový kľúč aplikácie bol odhalený.

Poznámka: Žiadosť o inováciu podpisového kľúča aplikácie v službe Play Console nesúvisí so striedaním kľúčov uvedenom v podpisovej schéme APK v3 pre systém Android P a novší. Tento typ striedania kľúčov Google Play momentálne nepodporuje.

Dôležité fakty na zváženie pred požiadaním o inováciu kľúča

Pred požiadaním o inováciu kľúča je dôležité porozumieť zmenám, ktoré pravdepodobne budete musieť vykonať po dokončení inovácie.

  • Ak používate rovnaký podpisový kľúč aplikácie pre viacero aplikácií na zdieľanie kódu alebo údajov medzi nimi, budete musieť aplikácie aktualizovať, aby rozpoznávali certifikáty nového aj starého kľúča.
  • Ak vaša aplikácia používa rozhrania API, pred zverejnením aktualizácie nezabudnite zaregistrovať certifikáty pre nový a starý podpisový kľúč aplikácie u poskytovateľov rozhraní API, aby rozhrania API neprestali fungovať. Certifikáty sú k dispozícii na stránke Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie) v službe Play Console.  
  • Ak vaši používatelia inštalujú aktualizácie zdieľaním typu peer‑to‑peer, budú si môcť nainštalovať iba aktualizácie podpísané rovnakým kľúčom, akým bola podpísaná verzia aplikácie, ktorú si už nainštalovali. Ak aplikáciu nemôžu aktualizovať, pretože jej verzia bola podpísaná iným kľúčom, príslušnú aktualizáciu získajú po odinštalovaní danej aplikácie a jej opätovnom nainštalovaní.
Ako požiadať o inováciu kľúča pre nové inštalácie
  1. Otvorte Play Console a prejdite na stránku Podpisovanie aplikácií v službe Play (Vydanie > Nastavenie > Integrita aplikácie).
  2. Na karte Inovácia podpisového kľúča aplikácie pre nové inštalácie vyberte Požiadať o inováciu kľúča.
  3. Vyberte požadovanú možnosť.
    • V závislosti od vybranej možnosti môže dokončenie žiadosti vyžadovať kontaktovanie podpory.
  4. Požiadajte Google, aby vám vygeneroval nový podpisový kľúč aplikácie (odporúčané), alebo ho nahrajte.
    • Ak ste podpisovali aplikácie a nahrávali ich pomocou rovnakého kľúča, môžete po inovácii podpisového kľúča aplikácie naďalej nahrávať pomocou svojho starého podpisového kľúča aplikácie, alebo môžete vygenerovať nový kľúč nahrávania.
  5. V prípade potreby zaregistrujte svoj nový podpisový kľúč aplikácie u poskytovateľov rozhraní API.

Osvedčené postupy

  • Ak aplikáciu distribuujete mimo služby Google Play alebo to plánujete urobiť neskôr a chcete použiť ten istý podpisový kľúč, máte dve možnosti: 
    • Môžete Googlu umožniť vygenerovať kľúč (odporúčané) a potom stiahnuť podpísaný univerzálny súbor APK z prieskumníka balíka aplikácie na distribúciu mimo služby Google Play.
    • Prípadne môžete vygenerovať podpisový kľúč aplikácie, ktorý chcete použiť pre všetky obchody s aplikáciami, a potom presunúť jeho kópiu do Googlu pri konfigurovaní podpisovania aplikácií v službe Play.
  • Ak chcete svoj účet ochrániť, zapnite dvojstupňové overenie pre účty, ktoré majú prístup k službe Play Console.
  • Po zverejnení balíka aplikácie do kanála môžete prejsť do prieskumníka balíkov aplikácie a získať tak prístup k inštalovateľným súborom APK, ktoré Google generuje z vášho balíka aplikácie. Môžete:
    • skopírovať a zdieľať odkaz na interné zdieľanie aplikácií, ktorý vám umožní jediným klepnutím otestovať, čo Google Play nainštaluje z vášho balíka aplikácie v rôznych zariadeniach;
    • stiahnuť podpísaný univerzálny súbor APK. Tento jeden súbor APK je podpísaný podpisovým kľúčom aplikácie, ktorý je uložený na Googli a dá sa nainštalovať v každom zariadení, ktoré vaša aplikácia podporuje;
    • si stiahnuť archív ZIP so všetkými súbormi APK pre konkrétne zariadenie. Tieto súbory APK sú podpísané podpisovým kľúčom aplikácie, ktorý je uložený na Googli. Súbory APK nachádzajúce sa v archíve ZIP môžete v zariadení nainštalovať pomocou príkazu adb install-multiple *.apk.
  • Zabezpečenie zvýšite vygenerovaním nového kľúča nahrávnia, ktorý bude iný ako podpisový kľúč aplikácie.
  • Ak používate ľubovoľné rozhranie Google API, mali by ste si pre svoju aplikáciu zaregistrovať certifikáty kľúča nahrávania a podpisového kľúča aplikácie v službe Google Cloud Console.

Stratili ste kľúč nahrávania alebo ho niekto odhalil?

Ak ste kľúč nahrávania stratili alebo bol odhalený, môžete vytvoriť nový a požiadať vlastníka účtu, aby kontaktoval podporu so žiadosťou o resetovanie kľúča. Pri kontaktovaní podpory by vlastník účtu nemal zabudnúť priložiť súbor upload_certificate.pem.

Keď tím podpory nový kľúč nahrávania zaregistruje, pošle vám správu. Potom si môžete aktualizovať úložiská kľúčov a kľúč zaregistrovať u poskytovateľov rozhraní API.

Dôležité: Resetovaním kľúča nahrávania neovplyvníte podpisový kľúč aplikácie, ktorým služba Google Play opätovne podpisuje súbory APK ešte pred ich doručením používateľom.

Podpisová schéma APK v4

Zariadenia s Androidom 11 a novším podporujú novú podpisovú schému APK v4. Podpisovanie aplikácií v službe Play začne uvádzať na trh podpisovanie v4 pre vybrané aplikácie, aby získali voliteľný prístup k nadchádzajúcim funkciám výkonnosti dostupným v novších zariadeniach. Vývojár nemusí podniknúť žiadne kroky a nebude to mať dopad na používateľov.

 

Pomohlo vám to?
Ako ju môžeme zlepšiť?

Potrebujete ďalšiu pomoc?

Ak chcete problém rýchlo vyriešiť, prihláste sa a získajte ďalšie možnosti podpory

Vyhľadávanie
Vymazať vyhľadávanie
Zavrieť vyhľadávanie
Aplikácie Googlu
Hlavná ponuka
Vyhľadávanie v Centre pomoci
true
92637
false