Zašto upotrebljavati potpisivanje aplikacije putem Playa? Osim što štiti vaše ključeve od trajnog gubitka ili ugrožavanja, prijava za potpisivanje aplikacije putem Playa otključava poboljšanja za vaše Android App Bundleove (.aab). Ako Googleu dopustite da potpiše optimizirane APK-ove za distribuciju koji se generiraju na temelju vaših paketa aplikacije, dobit ćete pristup vrijednim uslugama kao što su automatska zaštita i automatski prijevod nizova pomoću Gemini modela. Igre dobivaju pristup dodatnim automatskim uslugama kao što su Play Games Sidekick, igranje tijekom preuzimanja i probna verzija za 0 EUR za naslove koji se plaćaju.
Da biste konfigurirali potpisivanje aplikacije putem Playa, morate biti vlasnik računa ili imati dopuštenje Puštanje u produkciju, izuzimanje uređaja i upotreba potpisivanja aplikacije putem Playa te prihvatiti uvjete pružanja usluge.
Osnovni koncepti
Kad upotrebljavate potpisivanje aplikacije putem Playa, koristite dva zasebna ključa. Razumijevanje razlike među njima i njihovih tehničkih formata ključno je za izbjegavanje problema s autentifikacijom s API-jima trećih strana.
| Vrsta ključa | Tko ga kontrolira | Tehničke pojedinosti i svrha |
|
Ključ za prijenos |
Vi (Čuvajte ga na sigurnom mjestu!) |
|
| Ključ za potpisivanje aplikacije |
Google Play |
|
| Spremno za kvantno računalstvo | Google Play |
|
Napomena: radi maksimalne sigurnosti ključ za prijenos i ključ za potpisivanje aplikacije trebaju se razlikovati.
Kako Google potpisuje vašu aplikaciju: kada Google generira i potpisuje vaše APK-ove ključem za potpisivanje aplikacije, upotrebljava apksigner za dodavanje dviju oznaka manifestu vaše aplikacije (com.android.stamp.source i com.android.stamp.type). Te oznake jamče da se vaši APK-ovi mogu sigurno pratiti do izvornog potpisnika.
Postavljanje potpisivanja aplikacije putem Playa
Postupak postavljanja ovisi o tome objavljujete li novu aplikaciju ili migrirate postojeću.
Za nove aplikacije
- Izradite novu aplikaciju: vaša će se aplikacija automatski prijaviti za hibridno potpisivanje spremno za kvantno računalstvo pomoću ključeva koje je generirao Google. Generiramo i zaseban klasični ključ koji će se upotrebljavati u blokovima potpisa koji se prepoznaju na uređajima s Androidom 16 i starijim verzijama.
- Izradite ključ za prijenos: generirajte spremište ključeva da biste potpisali paket aplikacije za izdanje. Možete ga generirati u Android Studiju ili upotrijebiti Java uslužni alat za ključeve iz naredbenog retka.
- Prenesite paket aplikacije: otvorite Play konzolu i pripremite novo izdanje. Prema zadanim postavkama, kada prenesete paket aplikacije, vaša se aplikacija automatski prijavljuje za hibridno potpisivanje spremno za kvantno računalstvo s ključevima koje je generirao Google.
- Promijenite ključ za potpisivanje aplikacije (neobavezno): napredni razvojni programeri koji žele upravljati vlastitim ključem mogu promijeniti tu zadanu postavku. To možete učiniti tako da kliknete Promijenite ključ za potpisivanje u odjeljku Integritet aplikacije u izdanju ili tako da otvorite Zaštita na Google Playu > Zaštita Trgovine Google Play > Upravljajte potpisivanjem aplikacije putem Playa. Zatim možete odabrati sljedeće:
- Koristite isti ključ kao neka druga aplikacija na ovom računu razvojnog programera.
- Pružite kopiju svojeg ključa za potpisivanje aplikacije (slijedeći upute)
Za postojeće aplikacije
Ako trenutačno upravljate vlastitim ključevima i prenosite APK-ove, možete nadograditi na potpisivanje aplikacije putem Playa da biste iskoristili prednosti paketa aplikacija i poboljšanja Google Playa.
- Na Play konzoli otvorite Zaštita na Google Playu > Zaštita Trgovine Google Play > Otvorite Potpisivanje aplikacije putem Playa.
- Prihvatite uvjete pružanja usluge ako to još niste učinili.
- Prenesite kopiju izvornog ključa: preuzmite PEPK alat i slijedite objedinjene detaljne upute za šifriranje i prijenos postojećeg ključa za potpisivanje aplikacije iz bilo kojeg spremišta.
Registracija pri davateljima usluga API-ja
Ako vaša aplikacija upotrebljava API-je (kao što su Google Maps, OAuth ili Facebook Login), te usluge autentificiraju vašu aplikaciju pomoću digitalnog otiska ključa za potpisivanje aplikacije.
Budući da Google potpisuje konačni APK, morate kod davatelja usluga API-ja registrirati digitalni otisak ključa za potpisivanje aplikacije koji je pod Googleovom kontrolom, a ne samo lokalni ključ za prijenos.
- Otvorite Zaštita na Google Playu > Distribucija u Trgovini Google Play > Otvorite Potpisivanje aplikacije putem Playa.
- Pomaknite se do odjeljka Ključ za potpisivanje aplikacije.
- Kopirajte potrebne digitalne otiske (SHA-1 ili SHA-256). Ako vaša aplikacija upotrebljava hibridno potpisivanje spremno za kvantno računalstvo, morate kopirati digitalne otiske za tri ključa i registrirati svaki od njih pri davateljima API-ja: novi klasični i PQC ključevi koji se upotrebljavaju na novijim uređajima te klasični ključ koji se upotrebljava na starijim uređajima.
- Zalijepite te digitalne otiske na konzolu davatelja usluga API-ja (na primjer Google Cloud Console).
Savjet: ažurirajte datoteku assetlinks.json tim digitalnim otiscima ako upotrebljavate veze Android aplikacije.
Upravljanje ključevima
Nadogradnja ključa za potpisivanje aplikacije
Ako je vaš ključ za potpisivanje aplikacije ugrožen ili vam je potreban kriptografski snažniji ključ, možete zatražiti godišnju nadogradnju ključa za sva instaliranja na Androidu N (razina API-ja 24) i novijim verzijama.
Kako provedba funkcionira na različitim verzijama Androida:
- Android T (razina API-ja 33) i novije verzije: Android platforma strogo implementira upotrebu nadograđenog ključa.
- Od Androida N (razina API-ja 24) do Androida S (razina API-ja 32): sama Android platforma ne implementira nadograđeni ključ te i dalje prepoznaje stari ključ za potpisivanje. Međutim, Google Play Protect pruža dodatnu validaciju tako što provjerava jesu li ažuriranja aplikacije potpisana vašim nadograđenim ključem (osim ako korisnik isključi tu opciju).
Važna napomena:
- Dijeljeni podaci: budući da platforma ne implementira nadograđeni ključ na Androidu S (razina API-ja 32) i starijim verzijama, ako upotrebljavate isti ključ za više aplikacija radi dijeljenja podataka, te starije verzije Androida prepoznat će samo stari ključ za značajke kao što je dijeljenje prilagođenih dopuštenja.
Kako nadograditi ključ:
- Otvorite Zaštita na Google Playu > Distribucija u Trgovini Google Play > Otvorite Potpisivanje aplikacije putem Playa.
- U odjeljku Ključ za potpisivanje aplikacije kliknite Nadogradite ključ.
- Odaberite put nadogradnje:
- Neka Google Play generira novi ključ za potpisivanje aplikacije (preporučeno).
- Koristite isti ključ za potpisivanje aplikacije kao za neku drugu aplikaciju na ovom računu razvojnog programera.
- Pružite kopiju svojeg ključa za potpisivanje aplikacije (slijedeći upute).
- Kliknite Spremi i registrirajte nove digitalne otiske ključa pri davateljima usluga API-ja.
Zahtjev za poništavanje ključa za prijenos
Ako izgubite ključ za prijenos ili sumnjate da je ugrožen, nećete izgubiti pristup aplikaciji.
- Izradite novi ključ za prijenos u Android Studiju.
- Izvezite certifikat u PEM format:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Dodatnu pomoć s putovima za alat za ključeve i spremište ključeva potražite u vodiču za potpisivanje aplikacija u Android Studiju). - Nakon što se PEM datoteka generira, pošaljite zahtjev za poništavanje na Play konzoli.
- Otvorite Zaštita na Google Playu > Zaštita Trgovine Google Play > Upravljajte potpisivanjem aplikacije putem Playa.
- U odjeljku Certifikat ključa za prijenos kliknite Zatražite poništavanje ključa za prijenos.
- Unesite razlog poništavanja.
- Prenesite
upload_certificate.pemdatoteku i kliknite Zatraži.
Najbolji primjeri iz prakse i alternativna distribucija
- Sigurnost: zaštitite pristup Play konzoli tako da za sve korisnike implementirate potvrdu u dva koraka.
- Poboljšanja Google Playa: registracija za potpisivanje aplikacije putem Playa otključava pristup poboljšanjima Google Playa za vaše pakete aplikacija. Da biste primali ažuriranja, najprije unesite potrebne promjene prilikom izrade novog izdanja, a zatim prenesite novi paket aplikacije.
- Distribucija izvan Google Playa: ako distribuirate putem drugih trgovina aplikacija i želite svugdje upotrebljavati isti ključ za potpisivanje, imate dvije opcije. [1] Možete dopustiti Googleu da generira vaš ključ za potpisivanje aplikacije i preuzeti potpisani univerzalni APK s Play konzole ili Play Developer API-ja da biste ga distribuirali na drugim mjestima (na Play konzoli otvorite Testiranje i izdanje > Najnovija izdanja i paketi, odaberite paket aplikacije i kliknite karticu Preuzimanja) ili [2] možete generirati ključ za potpisivanje aplikacije koji želite upotrebljavati za sve trgovine aplikacija i prenijeti njegovu kopiju na Google prilikom konfiguriranja potpisivanja aplikacije putem Playa. Saznajte više o tome kako funkcioniraju ažuriranja aplikacija i o opcijama za omogućivanje ili onemogućivanje ažuriranja u više trgovina.
- Testiranje: upotrijebite interno dijeljenje aplikacija da biste testirali što će Google Play isporučiti korisnicima ili preuzmite APK-ove za konkretne uređaje iz alata za istraživanje paketa aplikacije i instalirajte ih lokalno pomoću naredbe adb install-multiple *
.apk. - Potpisna shema APK Signature Scheme v4: potpisivanje aplikacije putem Playa automatski upotrebljava potpisivanje v4 za aplikacije koje ispunjavaju kriterije kako bi se podržala optimizirana distribucija na uređajima s Androidom 11 i novijim verzijama. Ne morate ništa poduzimati. To isključuje sve aplikacije koje upotrebljavaju hibridno potpisivanje spremno za kvantno računalstvo, a koje još nije kompatibilno s potpisivanjem v4. Više o tehničkim prednostima možete pročitati u dokumentaciji za APK Signature Scheme v4.
- Samostalno hostani Google Cloud projekti: ako imate vrlo specifične sigurnosne zahtjeve (na primjer upotrebljavate OEM ključeve), možete upotrijebiti Play Developer API da biste se prijavili za potpisivanje aplikacija putem Playa pomoću samostalno hostanog Google Cloud projekta. Napomena: to je nestandardno postavljanje koje se ne preporučuje. Upotreba samostalno hostanog projekta znači da preuzimate punu odgovornost za postupke potpisivanja aplikacije, a Google Playu onemogućuje pružanje ključnih značajki kao što je oporavak od katastrofe.