Upotreba potpisivanja aplikacije putem Playa

Pomoću potpisivanja aplikacije putem Playa Google upravlja vašim ključem za potpisivanje aplikacije, štiti ga te ga upotrebljava za potpisivanje optimiziranih APK-ova za distribuciju koji se generiraju na temelju vaših paketa aplikacije. Potpisivanje aplikacije putem Playa pohranjuje vaš ključ za potpisivanje aplikacije na Googleovoj sigurnoj infrastrukturi i nudi opcije nadogradnje radi poboljšanja sigurnosti.

Da biste koristili potpisivanje aplikacije putem Playa, morate biti vlasnik računa ili korisnik s dopuštenjem Puštanje u produkciju, isključivanje uređaja i upotreba potpisivanja aplikacije putem Playa i trebate prihvatiti uvjete pružanja usluge za potpisivanje aplikacije putem Playa.

Način rada

Kad upotrebljavate potpisivanje aplikacije putem Playa, vaši se ključevi pohranjuju na istoj sigurnoj infrastrukturi koju Google upotrebljava za pohranu vlastitih ključeva. Ključevi su zaštićeni Googleovom uslugom Key Management Service. Ako želite saznati više o Googleovoj infrastrukturi, pročitajte bijelu knjigu o sigurnosti za Google Cloud.

Android aplikacije potpisuju se privatnim ključem. Da bi ažuriranja aplikacija bila pouzdana, svaki privatni ključ ima povezani javni certifikat pomoću kojeg uređaji i usluge mogu potvrditi da je ažuriranje aplikacije iz istog izvora. Uređaji prihvaćaju ažuriranje samo kada se njegov potpis podudara s potpisom instalirane aplikacije. Ako dopustite Googleu da upravlja vašim ključem za potpisivanje aplikacije, taj je postupak sigurniji.

Napomena: za aplikacije izrađene prije kolovoza 2021. i dalje možete prenijeti APK i upravljati vlastitim ključevima umjesto da upotrebljavate potpisivanje aplikacije putem Playa i objavljujete pomoću Android App Bundlea. No ako izgubite spremište ključeva ili ga nešto ugrozi, nećete moći ažurirati svoju aplikaciju bez objavljivanja nove aplikacije s novim nazivom paketa. Za te aplikacije Play preporučuje upotrebu potpisivanja aplikacije putem Playa i prebacivanje na pakete aplikacije.

Opisi ključeva, artefakata i alata
Pojam Opis
Ključ za potpisivanje aplikacije

Ključ koji Google Play upotrebljava za potpisivanje APK-ova koji se isporučuju na korisnikov uređaj. Kad upotrebljavate potpisivanje aplikacije putem Playa, možete prenijeti postojeći ključ za potpisivanje aplikacije ili Google može generirati ključ za vas.

Ključ za potpisivanje aplikacije nemojte otkrivati nikome, no javni certifikat aplikacije može se dijeliti.

Ključ za prijenos

Ključ koji upotrebljavate za potpisivanje paketa aplikacije prije prijenosa na Google Play. Ključ za prijenos nemojte otkrivati nikome, no javni certifikat aplikacije može se dijeliti. Iz sigurnosnih razloga dobro je da se ključ za potpisivanje aplikacije razlikuje od ključa za prijenos.

Ključ za prijenos može se generirati na dva načina:

  • Pomoću ključa za potpisivanje aplikacije: ako odaberete da ključ za potpisivanje aplikacije generira Google, ključ koji koristite za prvo izdanje također je i ključ za prijenos.
  • Pomoću zasebnog ključa za prijenos: ako pružite vlastiti ključ za potpisivanje aplikacije, pruža vam se mogućnost generiranja novog ključa za prijenos radi povećane zaštite. Ako ga ne generirate, koristite ključ za potpisivanje aplikacije kao ključ za prijenos da biste potpisali izdanja.
Certifikat (.der ili .pem)

Certifikat sadrži javni ključ i dodatne informacije o identitetu vlasnika ključa. Na temelju certifikata javnog ključa svatko može provjeriti tko je potpisao paket aplikacije ili APK i taj certifikat možete dijeliti s bilo kime jer ne sadrži vaš privatni ključ.

Da biste registrirali ključeve pri davateljima API-ja, možete preuzeti javni certifikat za svoj ključ za potpisivanje aplikacije i svoj ključ za prijenos na stranici Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije) na Play konzoli. Certifikat javnog ključa može se dijeliti s bilo kim. Ne sadrži vaš privatni ključ.

Digitalni otisak certifikata

Kratak i jedinstven prikaz certifikata koji davatelji API-ja često traže uz naziv paketa radi registracije aplikacije za upotrebu njihove usluge.

MD5, SHA-1 i SHA-256 digitalni otisci certifikata za prijenos i potpisivanje aplikacije mogu se pronaći na stranici Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije) na Play konzoli. Drugi digitalni otisci također se mogu izračunati preuzimanjem izvornog certifikata (.der) na istoj stranici.

Java spremište ključeva (.jks ili .keystore) Spremište sigurnosnih certifikata i privatnih ključeva.
Playev alat za kriptiranje privatnog ključa (PEPK)

Alat za izvoz privatnih ključeva iz Java spremišta ključeva i njihovu enkripciju za prijenos na Google Play.

Prilikom pružanja ključa za potpisivanje aplikacije koji Google treba upotrijebiti, odaberite opciju za izvoz i prijenos ključa (i njegovog javnog certifikata ako je to potrebno) i slijedite upute za preuzimanje i upotrebu tog alata. Ako želite, možete preuzeti, pregledati i koristiti otvoreni izvorni kôd PEPK alata.

Postupak potpisivanja aplikacije

Taj postupak funkcionira ovako:

  1. Potpišite svoj paket aplikacije i prenesite ga na Play konzolu.
  2. Google generira optimizirane APK-ove iz paketa aplikacije i potpisuje ih ključem za potpisivanje aplikacije.
  3. Google upotrebljava apksigner da bi dodao dvije oznake manifestu vaše aplikacije (com.android.stamp.source i com.android.stamp.type) i zatim potpisao APK-ove vašim ključem za potpisivanje aplikacije. Oznake koje doda apksigner omogućuju praćenje APK-ova do njihovih potpisnika.
  4. Google isporučuje potpisane APK-ove korisnicima.

Konfiguriranje potpisivanja aplikacije putem Playa

Upute za aplikacije izrađene nakon kolovoza 2021.

1. korak: izradite ključ za prijenos

  1. Slijedite ove upute da biste izradili ključ za prijenos.
  2. Potpišite svoj paket aplikacije ključem za prijenos.

2. korak: pripremite izdanje

  1. Slijedite upute da biste pripremili i uveli izdanje.
  2. Nakon što odaberete verziju izdanja, odjeljak Integritet aplikacije prikazuje status potpisivanja aplikacije putem Playa za vašu aplikaciju.
  3. Da biste nastavili s ključem za potpisivanje aplikacije koji je generirao Google, prenesite svoj paket aplikacije. Možete i odabrati Promijeni ključ za potpisivanje aplikacije da biste pristupili sljedećim opcijama:
    • Upotrijebite ključ za potpisivanje aplikacije koji je generirao Google: više od 90% novih aplikacija upotrebljava ključeve za potpisivanje aplikacije koje je generirao Google. Upotreba ključa koji je generirao Google štiti od gubitka ili ugrožavanja (ključ se ne može preuzeti). Ako odaberete tu opciju, možete preuzeti APK-ove za distribuciju s alata za istraživanje paketa aplikacije potpisanog ključem koji je generirao Google za druge distribucijske kanale ili za njih možete upotrebljavati neki drugi ključ.
    • Upotrijebite neki drugi ključ za potpisivanje aplikacije: ako odaberete ključ za potpisivanje aplikacije, možete upotrijebiti isti ključ kao za neku drugu aplikaciju na svojem računu razvojnog programera ili zadržati lokalnu kopiju svojeg ključa za potpisivanje aplikacije radi veće fleksibilnosti. Na primjer, možda već imate ključ jer je vaša aplikacija unaprijed instalirana na nekim uređajima. Čuvanjem kopije ključa izvan Googleovih poslužitelja povećava se rizik u slučaju da je lokalna kopija ugrožena. Za upotrebu nekog drugog ključa imate sljedeće opcije:
      • Koristite isti ključ za potpisivanje aplikacije kao za neku drugu aplikaciju na ovom računu razvojnog programera.
      • Izvezite i prenesite ključ iz Java spremišta ključeva.
      • Izvezite i prenesite ključ (bez upotrebe Java spremišta ključeva).
  4. Slijedite preostale upute za pripremu i uvođenje izdanja.

Napomena: trebate prihvatiti uvjete pružanja usluge i uključiti se u potpisivanje aplikacije da biste nastavili.

3. korak: registrirajte ključ za potpisivanje aplikacije pri davateljima API-ja

Ako vaša aplikacija upotrebljava API-je, obično trebate registrirati svoj ključ za potpisivanje aplikacije pri davateljima API-ja u svrhu autentifikacije pomoću digitalnog otiska certifikata. Evo gdje možete pronaći certifikat:

  1. Otvorite Play konzolu, a zatim stranicu Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije).
  2. Pomaknite se do odjeljka Certifikat ključa za potpisivanje aplikacije i kopirajte digitalne otiske (MD5, SHA-1 i SHA-256) certifikata za potpisivanje aplikacije.
    • Ako davatelj API-ja zahtijeva neku drugu vrstu digitalnog otiska, možete preuzeti i izvorni certifikat u .der formatu i konvertirati ga pomoću alata za transformaciju koje zahtijeva davatelj API-ja.
Zahtjevi za ključ za potpisivanje aplikacije

Kada upotrebljavate ključ koji je generirao Google, Google automatski generira kriptografski snažan RSA ključ od 4096 bitova. Ako odlučite prenijeti vlastiti ključ za potpisivanje aplikacije, to mora biti RSA ključ od najmanje 1024 bita.

Upute za aplikacije izrađene prije kolovoza 2021.

1. korak: konfigurirajte potpisivanje aplikacije putem Playa

  1. Otvorite Play konzolu, a zatim stranicu Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije).
  2. Ako to još niste učinili, pregledajte uvjete pružanja usluge za potpisivanje aplikacije putem Playa i odaberite Prihvati.

2. korak: pošaljite kopiju izvornog ključa Googleu i izradite ključ za prijenos

  1. Pronađite izvorni ključ za potpisivanje aplikacije.
  2. Otvorite Play konzolu, a zatim stranicu Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije).
  3. Odaberite opciju izvoza i prijenosa koja najbolje odgovara vašem postupku izdavanja i prenesite postojeći ključ za potpisivanje aplikacije.

3. korak: izradite ključ za prijenos (nije obavezno, ali se preporučuje)

  1. Izradite ključ za prijenos i prenesite certifikat na Google Play.
    • Možete i nastaviti upotrebljavati ključ za potpisivanje aplikacije kao ključ za prijenos.
  2. Kopirajte digitalne otiske (MD5, SHA-1 i SHA-256) certifikata za potpisivanje aplikacije.
    • Za svrhe testiranja možda ćete morati registrirati certifikat ključa za prijenos pri davateljima API-jeva pomoću digitalnog otiska certifikata i ključa za potpisivanje aplikacije.

4. korak: potpišite sljedeće ažuriranje aplikacije ključem za prijenos

Kada objavljujete ažuriranja aplikacije, morate ih potpisati ključem za prijenos.

  • Ako niste generirali novi ključ za prijenos: nastavite upotrebljavati izvorni ključ za potpisivanje aplikacije da biste potpisali pakete aplikacije prije nego što ih prenesete na Google Play. Ako izgubite izvorni ključ za potpisivanje aplikacije, možete generirati novi ključ za prijenos i registrirati ga na Googleu radi daljnjeg ažuriranja aplikacije.
  • Ako ste generirali novi ključ za prijenos: koristite novi ključ za prijenos da biste potpisali pakete aplikacije prije nego što ih prenesete na Google Play. Google upotrebljava ključ za prijenos da bi potvrdio vaš identitet. Ako izgubite ključ za prijenos, možete se obratiti korisničkoj podršci da ga poništi.

Izrada ključa za prijenos i ažuriranje spremišta ključeva

Radi veće sigurnosti preporučuje se potpisivanje aplikacije novim ključem za prijenos, a ne ključem za potpisivanje aplikacije.

Ključ za prijenos možete izraditi prilikom uključivanja u potpisivanje aplikacije putem Playa ili kasnije možete izraditi ključ za prijenos putem stranice Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije).

Evo kako izraditi ključ za prijenos:

  1. Slijedite upute na web-lokaciji Android Developers. Spremite ključ na sigurno mjesto.
  2. Izvezite certifikat za ključ za prijenos u PEM formatu. Zamijenite sljedeće podcrtane argumente:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Kada se to zatraži tijekom postupka izdavanja, prenesite certifikat da biste ga registrirali na Googleu.

Kada koristite ključ za prijenos:

  • Ključ za prijenos registriran je samo na Googleu radi autentifikacije identiteta autora aplikacije.
  • Potpis se uklanja iz prenesenih APK-ova prije nego što se pošalju korisnicima.
Zahtjevi za ključ za prijenos
  • Mora biti RSA ključ od najmanje 2048 bitova.
Ažuriranje spremišta ključeva

Nakon što izradite ključ za prijenos, evo nekih lokacija koje biste trebali provjeriti i ažurirati:

  • lokalni uređaji
  • zaključani poslužitelj na lokaciji (različiti ACL-ovi)
  • uređaj u oblaku (različiti ACL-ovi)
  • namjenske usluge za upravljanje tajnama
  • (Git) spremišta.

Nadogradnja ključa za potpisivanje aplikacije za nova instaliranja

U nekim okolnostima možete zatražiti nadogradnju ključa za potpisivanje aplikacije. Vaš novi ključ upotrebljavat će se za potpisivanje novih instaliranja i ažuriranja aplikacije. Stari ključ za potpisivanje aplikacije i dalje će se upotrebljavati za potpisivanje ažuriranja za korisnike koji su aplikaciju instalirali prije nadogradnje ključa.

Za svaku se aplikaciju ključ za potpisivanje može nadograditi samo jedanput. U malo vjerojatnom slučaju da imate više aplikacija koje se potpisuju istim ključem radi pokretanja u istom procesu, za te aplikacije nećete moći upotrebljavati nadograđeni ključ.

Razlozi zbog kojih se može tražiti nadogradnja ključa za potpisivanje aplikacije:

  • Potreban vam je kriptografski snažniji ključ.
  • Ključ za potpisivanje aplikacije bio je ugrožen.

Napomena: podnošenje zahtjeva za nadogradnju ključa za potpisivanje aplikacije na Play konzoli nije povezano s rotacijom ključa uvedenoj u trećoj verziji potpisne sheme APK Signature Scheme v3 za Android P i novije verzije. Google Play trenutačno ne podržava tu vrstu rotacije ključa.

Važne napomene koje je potrebno razmotriti prije podnošenja zahtjeva za nadogradnju ključa

Prije nego što zatražite nadogradnju ključa, važno je da razumijete koje ćete promjene možda trebati napraviti nakon dovršetka nadogradnje.

  • Ako isti ključ za potpisivanje aplikacije upotrebljavate za više aplikacija radi dijeljenja podataka ili koda među aplikacijama, trebate ažurirati svoje aplikacije tako da prepoznaju certifikate novog i starog ključa.
  • Ako vaša aplikacija upotrebljava API-je, obavezno registrirajte certifikate za novi i stari ključ za potpisivanje aplikacije pri davateljima API-ja prije objavljivanja ažuriranja kako bi API-ji i dalje funkcionirali. Certifikati su dostupni na stranici Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije) na Play konzoli.  
  • Ako vaši korisnici instaliraju ažuriranja P2P dijeljenjem, moći će instalirati samo ažuriranja potpisana istim ključem kojim je potpisana verzija aplikacije koju su već instalirali. Ako ne mogu ažurirati aplikaciju jer imaju verziju aplikacije koja je potpisana nekim drugim ključem, mogu deinstalirati i ponovo instalirati aplikaciju da bi primili ažuriranu verziju.
Slanje zahtjeva za nadogradnju ključa za nova instaliranja
  1. Otvorite Play konzolu, a zatim stranicu Potpisivanje aplikacije putem Playa (Izdanje > Postavljanje > Integritet aplikacije).
  2. Na kartici Nadogradnja ključa za potpisivanje aplikacije za nova instaliranja odaberite Zatražite nadogradnju ključa.
  3. Odaberite opciju.
    • Ovisno o opciji koju odaberete, možda ćete se trebati obratiti podršci radi izvršenja zahtjeva.
  4. Odaberite da Google generira novi ključ za potpisivanje aplikacije (preporučeno) ili prenesite neki drugi.
    • Ako ste prije upotrebljavali isti ključ za potpisivanje aplikacije i za prijenos, nakon nadogradnje ključa za potpisivanje aplikacije možete nastaviti upotrebljavati stari ključ za potpisivanje kao ključ za prijenos ili možete generirati novi ključ za prijenos.
  5. Ako je potrebno, registrirajte novi ključ za potpisivanje aplikacije pri davateljima API-ja.

Najbolji primjeri iz prakse

  • Ako svoju aplikaciju distribuirate i izvan Google Playa ili to namjeravate i želite upotrijebiti isti ključ za potpisivanje, imate dvije opcije: 
    • Omogućite Googleu da generira ključ (preporučeno), a zatim preuzmite potpisani, univerzalni APK iz alata za istraživanje paketa aplikacije da biste ga distribuirali izvan Google Playa.
    • Također možete generirati ključ za potpisivanje aplikacije koji želite upotrebljavati za sve trgovine aplikacija, a zatim njegovu kopiju prenijeti na Google prilikom konfiguriranja potpisivanja aplikacije putem Playa.
  • Da biste zaštitili svoj račun, uključite potvrdu u dva koraka za račune koji imaju pristup Play konzoli.
  • Nakon objavljivanja paketa aplikacije u verziji izdanja posjetite alat za istraživanje paketa aplikacije da biste pristupili instalabilnim APK-ovima koje Google generira iz vašeg paketa aplikacije. Možete učiniti sljedeće:
    • Kopirajte i podijelite vezu za interno dijeljenje aplikacija koja vam omogućuje da jednim dodirom testirate što će Google Play instalirati iz vašeg paketa aplikacije na različitim uređajima.
    • Preuzmite potpisani, univerzalni APK. Taj jedan APK potpisan je ključem za potpisivanje aplikacije koji čuva Google i može se instalirati na svim uređajima koje vaša aplikacija podržava.
    • Preuzmite ZIP arhivu sa svim APK-ovima za određeni uređaj. Ti su APK-ovi potpisani ključem za potpisivanje aplikacije koji čuva Google. APK-ove možete instalirati u ZIP arhivu na uređaju pomoću naredbe adb install-multiple *.apk.
  • Radi veće sigurnosti generirajte novi ključ za prijenos koji se razlikuje od ključa za potpisivanje aplikacije.
  • Ako upotrebljavate bilo koji Google API, preporučujemo da registrirate certifikate za ključ za prijenos i ključ za potpisivanje aplikacije na Google Cloud Consoleu za svoju aplikaciju.

Ključ za prijenos izgubljen je ili ugrožen?

Ako ste privatni ključ za prijenos izgubili ili je ugrožen, možete izraditi novi i zamoliti vlasnika računa da zatraži od podrške da poništi stari ključ. Prilikom obraćanja podršci vlasnik računa mora priložiti datoteku upload_certificate.pem.

Nakon što naš tim za podršku registrira novi ključ za prijenos, primit ćete e-poruku i zatim možete ažurirati spremišta ključeva i registrirati svoj ključ pri davateljima API-jeva.

Važno: poništavanje ključa za prijenos ne utječe na ključ za potpisivanje aplikacije koji Google Play upotrebljava za ponovno potpisivanje APK-ova prije nego što ih isporuči korisnicima.

Potpisna shema APK Signature Scheme v4

Uređaji sa sustavom Android 11 i novijima podržavaju novu potpisnu shemu APK Signature Scheme v4. Potpisivanje aplikacije putem Playa počet će uvoditi potpisivanje v4 za odabrane aplikacije kako bi im se omogućio izborni pristup predstojećim značajkama izvedbe dostupnim na novijim uređajima. Nije potrebna radnja razvojnog programera i ne očekuje se utjecaj na korisnike.

 

Je li to bilo korisno?
Kako to možemo poboljšati?

Trebate li dodatnu pomoć?

Prijavite se da bi vam bile dostupne dodatne opcije podrške kako biste brzo riješili problem

Pretraživanje
Izbriši pretraživanje
Zatvaranje pretraživanja
Googleove aplikacije
Glavni izbornik
Pretraži Centar za pomoć
true
92637
false