Zakaj uporabljati podpisovanje aplikacij z Googlom Play? Poleg zaščite ključev pred trajno izgubo ali ogrožanjem ste z včlanitvijo v podpisovanje aplikacij z Googlom Play deležni izboljšav Googla Play za svežnje Android App Bundle (.aab). Če Googlu dovolite, da podpiše optimizirane APK-je za distribucijo, ustvarjene iz aplikacijskih svežnjev, pridobite dostop do dragocenih storitev, kot sta samodejna zaščita in samodejno prevajanje nizov z modeli Geminija. Igre pridobijo dostop do dodatnih samodejnih storitev, kot so Sidekick za Igre Play, igranje med prenosom in preizkusi plačljivih naslovov brez stroškov.
Če želite konfigurirati podpisovanje aplikacij z Googlom Play, morate biti lastnik računa ali imeti dovoljenje Objava različic za splošno razpoložljivost, izključitev naprav in uporaba podpisovanja aplikacij z Googlom Play ter sprejeti pogoje storitve.
Temeljni koncepti
Če uporabljate podpisovanje aplikacij z Googlom Play, imate opravka z dvema ločenima ključema. Razumevanje razlike in njunih tehničnih oblik je ključno za izogibanje težavam s preverjanjem pristnosti pri API-jih drugih ponudnikov.
| Vrsta ključa | Kdo ga ima? | Tehnične podrobnosti in namen |
|
Ključ za nalaganje |
Vi (shranite ga na varnem!) |
|
| Ključ za podpisovanje aplikacij |
Google Play |
|
Opomba: Zaradi največje varnosti morata biti ključ za nalaganje in ključ za podpisovanje aplikacij različna.
Kako Google podpiše aplikacijo: Ko Google ustvari in podpiše APK-je s ključem za podpisovanje aplikacij, uporabi orodje apksigner, da manifestu aplikacije doda žiga (com.android.stamp.source in com.android.stamp.type). Ta žiga zagotavljata, da je mogoče APK-jem varno slediti do prvotnega podpisnika.
Nastavitev podpisovanja aplikacij z Googlom Play
Postopek nastavitve je odvisen od tega, ali objavljate novo aplikacijo ali selite obstoječo.
Za nove aplikacije
- Ustvarite ključ za nalaganje: Ustvarite shrambo ključev za podpisovanje aplikacijskega svežnja za izdajo. Ustvarite ga lahko v Android Studiu ali uporabite pripomoček za ključe Java iz ukazne vrstice.
- Naložite aplikacijski sveženj: Odprite Konzolo Play in pripravite novo izdajo. Ko naložite aplikacijski sveženj, podpisovanje aplikacij z Googlom Play privzeto samodejno ustvari kriptografsko močan 4096-bitni ključ RSA za upravljanje in zaščito aplikacije. Več kot 90 % novih aplikacij uporablja ta priporočeni privzeti ključ, za njegovo nastavitev pa ni potrebno nobeno dodatno dejanje.
- Spremenite ključ za podpisovanje aplikacij (izbirno): Napredni razvijalci, ki želijo upravljati svoj ključ, lahko spremenijo to privzeto nastavitev. To lahko storite tako, da v razdelku Celovitost aplikacije v izdaji kliknete Spremeni ključ za podpisovanje ali pa se pomaknete na Zaščiteno z Googlom Play > Distribucija v Trgovini Play > Na podpisovanje aplikacij z Googlom Play. Nato imate na voljo ti možnosti:
- Uporabite enak ključ, kot ga uporablja ena od aplikacij v tem računu razvijalca.
- Zagotovite kopijo ključa za podpisovanje aplikacij: Najprej prenesite Googlov javni ključ za šifriranje iz Konzole Play. Nato z orodjem Play Encrypt Private Key (PEPK) (prevedeno orodje ali njegovo izvorno kodo lahko prenesete neposredno iz Konzole, da ga preverite ali ustvarite sami) varno šifrirajte in naložite obstoječi ključ RSA (2048-bitni ali večji) iz katere koli shrambe.
Za obstoječe aplikacije
Če trenutno upravljate svoje ključe in nalagate APK-je, lahko nadgradite na podpisovanje aplikacij z Googlom Play, če želite izkoristiti prednosti aplikacijskih svežnjev in izboljšav Googla Play.
- V Konzoli Play odprite Zaščiteno z Googlom Play > Distribucija v Trgovini Play > Na podpisovanje aplikacij z Googlom Play.
- Sprejmite pogoje storitve, če jih še niste.
- Prenos kopije prvotnega ključa: Prenesite orodje PEPK in upoštevajte poenotena navodila po korakih, da šifrirate in naložite obstoječi ključ za podpisovanje aplikacij iz katere koli shrambe.
Registracija pri ponudnikih API-jev
Če aplikacija uporablja API-je (kot so Google Zemljevidi, OAuth ali Prijava s Facebookom), te storitve preverijo pristnost aplikacije s prstnim odtisom ključa za podpisovanje aplikacij.
Ker Google podpiše končni APK, morate pri ponudnikih API-jev registrirati prstni odtis ključa za podpisovanje aplikacij, ki ga hrani Google, ne samo lokalnega ključa za nalaganje.
- Odprite Zaščiteno s storitvijo Play > Distribucija v Trgovini Play > Na podpisovanje aplikacij z Googlom Play.
- Pomaknite se do razdelka Ključ za podpisovanje aplikacij.
- Kopirajte zahtevane prstne odtise (SHA-1 ali SHA-256).
- Te prstne odtise prilepite v konzolo ponudnika API-ja (na primer konzola Google Cloud Console).
Nasvet: Če uporabljate povezave v aplikacijo Android, posodobite datoteko assetlinks.json s temi prstnimi odtisi.
Upravljanje ključev
Nadgradnja ključa za podpisovanje aplikacij
Če je ključ za podpisovanje aplikacij ogrožen ali potrebujete kriptografsko močnejši ključ, lahko zahtevate letno nadgradnjo ključa za vse namestitve v Androidu N (raven API-ja 24) in novejših različicah.
Kako deluje uveljavljanje v različicah Androida:
- Android T (raven API-ja 33) in novejše različice: Platforma Android strogo uveljavi uporabo nadgrajenega ključa.
- Android N (raven API-ja 24)–Android S (raven API-ja 32): Platforma Android sama ne uveljavi nadgrajenega ključa in še vedno prepozna starejši ključ za podpisovanje. Vendar pa Google Play Protect zagotavlja dodatno preverjanje, saj preveri, ali so posodobitve aplikacij podpisane z nadgrajenim ključem (razen če uporabnik to izklopi).
Pomemben dejavnik:
- Deljeni podatki: Ker platforma ne uveljavi nadgrajenega ključa v sistemu Android S (raven API-ja 32) in starejših različicah, bodo te starejše različice Androida za funkcije, kot je deljenje dovoljenj po meri, prepoznale samo starejši ključ, če za deljenje podatkov uporabljate isti ključ v več aplikacijah.
Postopek nadgradnje:
- Odprite Zaščiteno s storitvijo Play > Distribucija v Trgovini Play > Na podpisovanje aplikacij z Googlom Play.
- V razdelku Ključ za podpisovanje aplikacij kliknite Nadgradi ključ.
- Izberite pot nadgradnje:
- Naj Google Play ustvari nov ključ za podpisovanje aplikacij (priporočljivo)
- Uporaba istega ključa za podpisovanje aplikacij, kot ga uporablja druga aplikacija v tem računu razvijalca
- Zagotovitev kopije ključa za podpisovanje aplikacij (upoštevajte navodila)
- Če zagotovite lasten ključ, z orodjem apksigner (priloženo orodjem za gradnjo v kompletu za razvoj programske opreme za Android) ustvarite in naložite »dokazilo o rotaciji«. (Podrobnosti o zastavicah, uporabljenih tukaj, so na voljo v dokumentaciji za ukazno vrstico orodja apksigner):
- apksigner
rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
- apksigner
- Kliknite Shrani in registrirajte nove prstne odtise ključev pri ponudnikih API-jev.
Zahtevanje ponastavitve ključa za nalaganje
Če izgubite ključ za nalaganje ali sumite, da je bil ogrožen, ne izgubite dostopa do aplikacije.
- Ustvarite nov ključ za nalaganje v Android Studiu.
- Izvozite potrdilo v obliko PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Če potrebujete več pomoči glede orodja keytool in poti do shrambe ključev, si oglejte vodnik za podpisovanje aplikacij za Android Studio). - Lastnik računa naj prek obrazca za pomoč za Konzolo Play zahteva ponastavitev ključa za nalaganje.
- Ob pozivu naložite datoteko
upload_certificate.pem.
Opomba: Ponastavitev ključa za nalaganje ne vpliva na ključ za podpisovanje aplikacij ali vaše uporabnike.
Najboljši postopki in nadomestna distribucija
- Varnost: Zaščitite dostop do Konzole Play tako, da za vse uporabnike uveljavite preverjanje v dveh korakih.
- Izboljšave Googla Play: Če se včlanite v podpisovanje aplikacij z Googlom Play, si zagotovite dostop do izboljšav Googla Play za aplikacijske svežnje. Če želite prejemati posodobitve, najprej pri ustvarjanju nove izdaje izvedite vse potrebne spremembe in nato naložite novi aplikacijski sveženj.
- Distribucija zunaj Googla Play: Če distribuirate prek drugih trgovin z aplikacijami in želite povsod uporabljati isti ključ za podpisovanje, imate dve možnosti. Dovolite lahko, da Google ustvari ključ za podpisovanje aplikacij, in prenesete podpisan, univerzalen APK iz najnovejših izdaj in svežnjev za distribucijo drugje (odprite Preizkus in izdaja > Najnovejše izdaje in svežnji, izberite aplikacijski sveženj in kliknite zavihek Prenosi) ali pa ustvarite ključ za podpisovanje aplikacij, ki ga želite uporabljati za vse trgovine z aplikacijami, in prenesete njegovo kopijo v Google, ko omogočite podpisovanje aplikacij z Googlom Play.
- Preizkušanje: Z notranjim deljenjem aplikacij preizkusite, kaj natanko bo Google Play dostavil uporabnikom, ali prenesite APK-je za posamezne naprave v raziskovalcu aplikacijskih svežnjev in jih lokalno namestite z ukazom »adb install-multiple *
.apk«. - Shema podpisovanja APK-jev različice 4: Podpisovanje aplikacij z Googlom Play samodejno uporablja podpisovanje različice 4 za ustrezne aplikacije, da podpira optimizirano distribucijo v napravah s sistemom Android 11 in novejših različicah. Vam ni treba storiti ničesar. Več o tehničnih prednostih lahko preberete v dokumentaciji o shemi podpisovanja APK-jev različice 4.
- Samogostovani projekti v storitvi Google Cloud: Če imate zelo specifične varnostne zahteve (na primer uporabljate ključe izvirnega izdelovalca strojne opreme), lahko z API-jem za razvijalce za Google Play izvedete včlanitev v podpisovanje aplikacij z Googlom Play s samogostovanim projektom v storitvi Google Cloud. Opomba: To je nestandardna nastavitev, ki je ne priporočamo. Če uporabljate samogostovani projekt, prevzamete vso odgovornost za postopke podpisovanja aplikacij, Google Play pa ne more izvajati bistvenih funkcij, kot je obnovitev po izpadu.