Bruk Play-appsignering

Med Play-appsignering administrerer og beskytter Google appens signeringsnøkkel for deg og bruker den til å signere optimaliserte distribusjons-APK-er som genereres fra appsamlingene dine. Play-appsignering lagrer appsigneringsnøkkelen din i Googles sikre infrastruktur og tilbyr oppgraderingsalternativer som øker sikkerheten.

For å bruke Play-appsignering må du være en kontoeier eller -bruker med tillatelsen Gi ut produksjonsversjoner, utelat enheter, og bruk Play-appsignering, og du må godta vilkårene for bruk av Play-appsignering.

Slik fungerer det

Når du bruker Play-appsignering, lagres nøklene dine på den samme sikre infrastrukturen som Google bruker til å lagre sine egne nøkler. Nøklene er beskyttet av Googles tjeneste for nøkkeladministrasjon. Hvis du vil finne ut mer om Googles infrastruktur, kan du lese Googles tekniske dokumenter om sikkerhet i nettskyen.

Android-apper signeres med en privat nøkkel. For å sikre at appoppdateringer er pålitelige, har hver private nøkkel et tilhørende offentlig sertifikat som enheter og tjenester bruker til å verifisere at appoppdateringen kommer fra den samme kilden. Enheter godtar bare oppdateringer når signaturen samsvarer med den installerte appens signatur. Hvis du lar Google administrere appsigneringsnøkkelen din, blir denne prosessen sikrere.

Merk: For apper som er laget før august 2021, kan du fortsatt laste opp en APK og administrere dine egne nøkler i stedet for å bruke Play-appsignering og publisere med en Android App Bundle. Men hvis du mister nøkkellageret ditt eller det blir utsatt for et sikkerhetsbrudd, kan du ikke oppdatere appen din uten å publisere en ny app med et nytt pakkenavn. For disse appene anbefaler Play at du bruker Play-appsignering og bytter til appsamlinger.

Beskrivelser av nøkler, artefakter og verktøy
Term Beskrivelse
Appsigneringsnøkkel

Nøkkelen Google Play bruker til å signere APK-ene som leveres til brukernes enheter. Når du bruker Play-appsignering, kan du enten laste opp en eksisterende appsigneringsnøkkel eller la Google Play generere en for deg.

Du må holde appsigneringsnøkkelen hemmelig, men du kan dele appens offentlige sertifikat med andre.

Opplastingsnøkkel

Nøkkelen du bruker til å signere appsamlinger før du laster dem opp på Google Play. Du må holde opplastingsnøkkelen hemmelig, men du kan dele appens offentlige sertifikat med andre. Av sikkerhetsgrunner er det lurt å ha forskjellige nøkler for appsignering og opplasting.

Opplastingsnøkler kan genereres på to måter:

  • Bruk appsigneringsnøkkelen: Hvis du lar Google generere en appsigneringsnøkkel, er nøkkelen du bruker til den første utgaven, også opplastingsnøkkelen.
  • Bruk en separat opplastingsnøkkel: Hvis du bruker din egen appsigneringsnøkkel, får du mulighet til å generere en ny opplastingsnøkkel for økt sikkerhet. Hvis du ikke genererer en, bruker du appsigneringsnøkkelen som opplastingsnøkkel for å signere utgaver.
Sertifikat (.der eller .pem)

Et sertifikat inneholder en offentlig nøkkel og identifiserende tilleggsinformasjon om hvem som eier nøkkelen. Med det offentlige nøkkelsertifikatet kan hvem som helst bekrefte hvem som har signert appsamlingen eller APK-en, og du kan dele det med hvem som helst fordi det ikke inneholder den private nøkkelen.

For å registrere nøklene dine hos API-leverandører kan du laste ned det offentlige sertifikatet for appsigneringsnøkkelen og opplastingsnøkkelen din fra siden Play-appsignering (Utgave > Konfigurering > Appsignering) i Play-konsollen. Du kan dele det offentlige nøkkelsertifikatet med andre. Det inneholder ikke den private nøkkelen.

Sertifikatfingeravtrykk

En kort og unik representasjon av et sertifikat som API-leverandører ofte ber om sammen med pakkenavnet for å registrere apper for tjenestene sine.

«MD5»-, «SHA-1»- og «SHA-256»-fingeravtrykkene for opplastings- og appsigneringssertifikatene finner du på siden Play-appsignering (Utgave > Konfigurering > Appsignering) i Play-konsollen. Andre fingeravtrykk kan også beregnes ved å laste ned det opprinnelige sertifikatet (.der) fra den samme siden.

Java-nøkkellager (.jks eller .keystore) Et repositorium med sikkerhetssertifikater og private nøkler.
Verktøyet for Play-kryptering av private nøkler (PEPK)

Et verktøy for å eksportere private nøkler fra et Java-nøkkellager og kryptere nøklene for å overføre dem til Google Play.

Når du oppgir appsigneringsnøkkelen for bruk av Google, velger du alternativet for å eksportere og laste opp nøkkelen (og det tilhørende offentlige sertifikatet om nødvendig) og følger veiledningen for å laste ned og bruke verktøyet. Hvis du foretrekker det, kan du laste ned, gjennomgå og bruke PEPK-verktøyets åpne kildekode.

Prosessen for appsignering

Sånn fungerer prosessen:

  1. Signer appsamlingen din, og last den opp til Play-konsollen.
  2. Google genererer optimaliserte APK-er fra appsamlingen din og signerer dem med appsigneringsnøkkelen.
  3. Google bruker apksigner til å legge til to kildestempler i appmanifestet (com.android.stamp.source og com.android.stamp.type) og signerer deretter APK-ene med appsigneringsnøkkelen din. Kildestemplene som apksigner legger til, gjør det mulig å spore hvem som signerte APK-ene.
  4. Google leverer signerte APK-er til brukere.

Konfigurer og administrer Play-appsignering

Hvis ikke appen din bruker Play-appsignering ennå, bør du følge veiledningen nedenfor.

Trinn 1: Opprett en opplastingsnøkkel

  1. Følg denne veiledningen, og lag en opplastingsnøkkel.
  2. Signer appsamlingen din med opplastingsnøkkelen.

Trinn 2: Klargjør utgaven din

  1. Følg instruksjonene for å klargjøre og publisere utgaven.
  2. Når du har valgt en lanseringsmålgruppe, vises statusen for Play-appsignering for appen din i «Appintegritet»-delen.
  3. Last opp appsamlingen din for å fortsette med en appsigneringsnøkkel som er laget av Google. Du kan også velge Endre appsigneringsnøkkelen for å få tilgang til følgende alternativer:
    • Bruk en Google-generert appsigneringsnøkkel: Over 90 % av nye apper bruker appsigneringsnøkler som er generert av Google. Når du bruker en Google-generert nøkkel, sikres du mot tap eller sikkerhetsbrudd (nøkkelen kan ikke lastes ned). Hvis du velger dette alternativet, kan du laste ned distribusjons-APK-er fra utforskeren for appsamlinger som er signert med den Google-genererte nøkkelen, for andre distribusjonskanaler, eller bruke en annen nøkkel for dem.
    • Bruk en annen appsigneringsnøkkel: Når du selv velger appsigneringsnøkkelen, kan du bruke den samme nøkkelen som andre apper i utviklerkontoen din, eller du kan beholde en lokal kopi av appsigneringsnøkkelen for bedre fleksibilitet. Du har kanskje allerede bestemt en nøkkel fordi appen din er forhåndsinstallert på enkelte enheter. Hvis du har en kopi av nøkkelen din utenfor Googles tjenere, øker risikoen hvis den lokale kopien blir utsatt for sikkerhetsbrudd. Du har følgende alternativer for hvordan du bruker andre nøkler:
  4. Fullfør resten av veiledningen for å klargjøre og publisere utgaven.

Merk: Du må godta vilkårene for bruk og registrere deg for appsignering for å fortsette.

Trinn 3: Registrer appsigneringsnøkkelen din hos API-leverandører

Hvis appen din bruker noen API-er, må du vanligvis registrere appsigneringsnøkkelen din hos dem for autentiseringsformål ved hjelp av fingeravtrykket til sertifikatet. Her finner du sertifikatet:

  1. Åpne Play-konsollen, og gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).
  2. Rull ned til «Sertifikat for appsigneringsnøkkel», og kopier fingeravtrykkene (MD5, SHA-1 og SHA-256) for sertifikatet for appsignering.
    • Hvis API-leverandøren krever en annen type fingeravtrykk, kan du også laste ned det opprinnelige sertifikatet i .der-format og konvertere det med konverteringsverktøyene API-leverandøren krever.
Krav til appsigneringsnøkler

Når du bruker en Google-generert nøkkel, genererer Google automatisk en kryptografisk sterk RSA-nøkkel på 4096 bit. Hvis du velger å laste opp din egen appsigneringsnøkkel, må den være en RSA-nøkkel på minst 2048 bit.

Veiledning for apper som er laget før august 2021

Trinn 1: Konfigurer Play-appsignering

  1. Åpne Play-konsollen, og gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).
  2. Gå gjennom vilkårene for bruk av Play-appsignering og velg Godta, hvis du ikke allerede har gjort det.

Trinn 2: Send en kopi av den opprinnelige nøkkelen til Google, og lag en opplastingsnøkkel

  1. Finn den opprinnelige appsigneringsnøkkelen.
  2. Åpne Play-konsollen, og gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).
  3. Velg det alternativet for eksport og opplasting som passer best til utgivelsesprosessen din, og last opp en eksisterende appsigneringsnøkkel.

Trinn 3: Opprett en opplastingsnøkkel (valgfritt og anbefalt)

  1. Opprett en opplastingsnøkkel, og last opp sertifikatet til Google Play.
    • Du kan også fortsette å bruke appsigneringsnøkkelen som opplastingsnøkkel.
  2. Kopier fingeravtrykkene (MD5, SHA-1 og SHA-256) for sertifikatet for appsignering.
    • For testformål må du kanskje registrere sertifikatet for opplastingsnøkkelen hos API-leverandører ved hjelp av sertifikatets fingeravtrykk og appsigneringsnøkkelen.

Trinn 4: Signer den neste appoppdateringen din med opplastingsnøkkelen

Når du publiserer oppdateringer for appen, må du signere dem med opplastingsnøkkelen.

  • Hvis du ikke har generert en ny opplastingsnøkkel: Fortsett å bruke den opprinnelige appsigneringsnøkkelen til å signere appsamlinger før du laster dem opp til Google Play. Hvis du mister den opprinnelige appsigneringsnøkkelen, kan du generere en ny opplastingsnøkkel og registrere den hos Google for å fortsette å oppdatere appen.
  • Hvis du har generert en ny opplastingsnøkkel: Bruk den nye opplastingsnøkkelen til å signere appsamlinger før du laster dem opp til Google Play. Google bruker opplastingsnøkkelen til å bekrefte identiteten din. Hvis du mister opplastingsnøkkelen, kan du kontakte brukerstøtten for å tilbakestille den.
Oppgrader appsigneringsnøkkelen din for å registrere deg for Play-appsignering

Det kan være lurt å gjøre det hvis du ikke klarer å dele nøkkelen du har allerede. Før du oppgraderer appsigneringsnøkkelen for å registrere deg, må du være oppmerksom på følgende:

  • Dette alternativet krever doble utgaver.
  • Du må laste opp en appsamling og en APK som er signert med den gamle nøkkelen i hver utgave. Google Play bruker appsamlingene dine til å generere APK-er som er signert med den nye nøkkelen, for enheter med Android R (API-nivå 30) eller nyere. De gamle APK-ene dine brukes for eldre Android-utgaver (opptil API-nivå 29).

*Hvis appen din bruker sharedUserId, bør du ta i bruk nøkkeloppgradering for installeringer og oppdateringer på enheter med Android T (API-nivå 33) eller nyere. For å konfigurere dette bør du angi en nøyaktig verdi for laveste SDK-versjon i pakkekonfigurasjonen.

Trinn 1: Last opp den nye nøkkelen, og generer og last opp roteringsbeviset

For at den nye nøkkelen skal være klarert på Android-enheter, må du laste opp en ny signeringsnøkkel fra et repositorium og deretter generere og laste opp roteringsbeviset:

  1. Åpne Play-konsollen, og gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).
  2. Velg Appsignering-fanen.
  3. Klikk på Vis avanserte alternativer, og velg Bruk en ny appsigneringsnøkkel (dette krever pågående doble utgaver).
  4. Velg om du vil bruke den samme appsigneringsnøkkelen som en annen app i utviklerkontoen din eller laste opp en ny appsigneringsnøkkel fra Android Studio, Java KeyStore eller et annet repositorium.
  5. Følg veiledningen på skjermen, og last ned og kjør PEPK-verktøyet.
  6. Når ZIP-filen er klar, klikker du på Last opp en generert ZIP-fil og laster den opp til Play-konsollen.
  7. Ved siden av «5. Last opp et roteringsbevis for å tillate klarering av den nye nøkkelen på Android-enheter» klikker du på Vis veiledningen.
  8. Last ned APKSigner, og generer roteringsbeviset ved å kjøre denne kommandoen:
    • $ 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
  9. Klikk på Last opp filen med det genererte roteringsbeviset, og last opp roteringsbeviset som ble generert i trinn 8.
  10. Klikk på Lagre.

Opprett en opplastingsnøkkel og oppdater nøkkellagrene

For bedre sikkerhet anbefaler vi at du signerer appen din med en ny opplastingsnøkkel i stedet for appsigneringsnøkkelen.

Du kan opprette en opplastingsnøkkel når du registrerer deg for Google Play-appsignering, eller du kan opprette en opplastingsnøkkel senere ved å gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).

Sånn oppretter du en opplastingsnøkkel:

  1. Følg instruksjonene på nettstedet for Android-utviklere. Oppbevar nøkkelen på et trygt sted.
  2. Eksportér sertifikatet for opplastingsnøkkelen til PEM-format. Bytt ut argumentene som er understreket:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Når du blir bedt om det under utgivelsesprosessen, laster du opp sertifikatet for å registrere det hos Google.

Når du bruker en opplastingsnøkkel:

  • Opplastingsnøkkelen din registreres bare hos Google for å autentisere identiteten til appens opphavsperson.
  • Signaturen din fjernes fra alle APK-er du laster opp, før de sendes til brukerne.
Krav til opplastingsnøkler
  • De må være RSA-nøkler på 2048 bit eller mer.
Oppdater nøkkellagrene

Når du har opprettet en opplastingsnøkkel, bør du sjekke og oppdatere disse stedene:

  • lokale maskiner
  • låste tjenere i lokalene (varierende tilgangskontrollister)
  • nettskymaskiner (varierende tilgangskontrollister)
  • spesifikke tjenester for administrering av hemmeligheter
  • Git-repositorier

Oppgrader appsigneringsnøkkelen din

Denne delen inneholder en veiledning knyttet til oppgradering av appsigneringsnøkler. Hvis du har mistet opplastingsnøkkelen, trenger du ikke å be om en oppgradering av nøkkelen. Se i stedet delen Har du mistet en opplastingsnøkkel, eller er den utsatt for et sikkerhetsbrudd? nederst på denne siden.

I noen situasjoner kan du be om en oppgradering av appsigneringsnøkkelen.

Her er et par grunner til å be om en oppgradering av appsigneringsnøkkelen:

  • Du trenger en kryptografisk sterkere nøkkel.
  • Appsigneringsnøkkelen din har vært utsatt for et sikkerhetsbrudd.

Viktig: Nøkkeloppgraderinger støttes bare for apper som bruker appsamlinger.

Før du ber om en nøkkeloppgradering i Play-konsollen, bør du lese gjennom Viktige vurderinger før du ber om en nøkkeloppgradering nedenfor. Deretter kan du utvide de andre delene nedenfor for å finne ut mer om hvordan du ber om en nøkkeloppgradering.

Viktige vurderinger før du ber om en nøkkeloppgradering

Før du ber om en nøkkeloppgradering, er det viktig å forstå endringene du kan måtte gjøre etter at oppgraderingen er fullført.

  • Hvis du bruker den samme appsigneringsnøkkelen for flere apper for å dele data/kode mellom appene, må du oppdatere appene dine, slik at de gjenkjenner sertifikatene for både den nye og den gamle appsigneringsnøkkelen. På enheter som kjører Android S (API-nivå 32) eller eldre, gjenkjennes bare det gamle sertifikatet for appsigneringsnøkkelen av Android-plattformen for formål knyttet til data-/kodedeling.
  • Hvis appen din bruker API-er, må du sørge for å registrere sertifikatene for den nye og gamle appsigneringsnøkkelen hos API-leverandørene før du publiserer en oppdatering, for å sikre at API-ene fortsetter å fungere. Sertifikater er tilgjengelige på siden Play-appsignering (Utgave > Konfigurering > Appsignering) i Play-konsollen.  
  • Hvis noen av brukerne dine installerer appoppdateringer via node-til-node-deling, kan de bare installere oppdateringer som er signert med den samme nøkkelen som den versjonen av appen de allerede har installert. Hvis de ikke kan oppdatere appen fordi de har en versjon av appen som er signert med en annen nøkkel, kan de avinstallere appen og installere den på nytt for å få oppdateringen.
Be om en nøkkeloppgradering for alle installeringer på Android N (API-nivå 24) og nyere

Hver app kan få appsigneringsnøkkelen sin oppgradert for alle installeringer på Android N (API-nivå 24) og nyere én gang i året.

Hvis du ber om denne nøkkeloppgraderingen, brukes den nye nøkkelen til å signere alle installeringer og appoppdateringer. På enheter som kjører Android T (API-nivå 33) og nyere, gjør Android-plattformen bruken av den oppgraderte nøkkelen obligatorisk. På enheter som kjører Android S (API-nivå 32) eller eldre, gjør ikke Android-plattformen bruken av denne oppgraderte nøkkelen obligatorisk, og den gamle signeringsnøkkelen gjenkjennes fortsatt som appens signeringsnøkkel. Dette inkluderer også eventuelle Android-plattformfunksjoner (for eksempel deling av egendefinerte tillatelser) som bruker appens signeringsnøkkel. På enheter som kjører en versjon fra Android N (API-nivå 24) til Android S (API-nivå 32), sjekker Google Play Protect at appoppdateringer er signert med den oppgraderte nøkkelen, med mindre brukeren slår det av. Dette gir en ekstra validering, siden Android-plattformen ikke gjør den oppgraderte nøkkelen obligatorisk på enheter som kjører Android S (API-nivå 32) eller eldre.

  1. Åpne Play-konsollen, og gå til siden Play-appsignering (Utgave > Konfigurering > Appsignering).
  2. Velg Be om nøkkeloppgradering på kortet «Oppgrader appsigneringsnøkkelen din».
  3. Velg et alternativ for å oppgradere appsigneringsnøkkelen din for alle installeringer på Android N og nyere.
  4. La Google generere en ny appsigneringsnøkkel (anbefalt), eller last opp en.
    • Hvis du brukte den samme nøkkelen som appsigneringsnøkkel og opplastingsnøkkel og du har oppgradert appsigneringsnøkkelen, kan du fortsette å bruke den gamle appsigneringsnøkkelen som opplastingsnøkkel eller generere en ny opplastingsnøkkel.
  5. Velg hvorfor du ber om oppgradering av appsigneringsnøkkelen.
  6. Registrer den nye appsigneringsnøkkelen din hos API-leverandører etter behov.

Tips: Hvis du distribuerer appen i flere distribusjonskanaler og du vil maksimere kompatibiliteten med appoppdateringer for brukerne, bør du oppgradere nøkkelen for hver distribusjonskanal. Bruk ApkSigner-verktøyet for å være kompatibel med hovedoppgraderingen for Google Play. Dette verktøyet følger med Android SDK Build Tools (versjon 33.0.1 eller nyere):

$ apksigner sign --in ${INPUT_APK}

--out ${OUTPUT_APK}

--ks ${ORIGINAL_KEYSTORE}

--ks-key-alias ${ORIGINAL_KEY_ALIAS}

--next-signer --ks ${UPGRADED_KEYSTORE}

--ks-key-alias ${UPGRADED_KEY_ALIAS}

--lineage ${LINEAGE}

 Finn ut mer om hvordan appoppdateringer fungerer.

Anbefalte fremgangsmåter

  • Hvis du også distribuerer appen din utenfor Google Play eller planlegger å gjøre det senere, og hvis du vil bruke den samme signeringsnøkkelen, har du to alternativer: 
    • Du kan enten la Google generere nøkkelen (anbefales) og deretter laste ned en signert, universell APK fra utforskeren for appsamlinger for å distribuere utenfor Google Play.
    • Du kan også generere appsigneringsnøkkelen du vil bruke for alle appbutikker, og deretter overføre en kopi av den til Google når du konfigurerer Play-appsignering.
  • For å beskytte kontoen din bør du slå på totrinnsbekreftelse for kontoer med tilgang til Play-konsollen din.
  • Når du har publisert en appsamling til en lanseringsmålgruppe, kan du gå til utforskeren for appsamlinger for å få tilgang til installerbare APK-er som Google genererer fra appsamlingen din. Du kan
    • kopiere og dele en link for intern appdeling som gjør at du med bare ett trykk kan teste hva Google Play ville installert fra appsamlingen din på forskjellige enheter.
    • laste ned en signert, universell APK. Denne ene APK-en er signert med appsigneringsnøkkelen Google har, og kan installeres på alle enheter som appen din støtter.
    • laste ned et ZIP-arkiv med alle APK-ene for en bestemt enhet. Disse APK-ene er signert med appsigneringsnøkkelen Google har, og du kan installere APK-ene i ZIP-arkivet på en enhet ved hjelp av kommandoen adb install-multiple *.apk.
  • For bedre sikkerhet bør du generere en ny opplastingsnøkkel som er forskjellig fra appsigneringsnøkkelen.
  • Hvis du bruker Google-API-er, kan det være hensiktsmessig å registrere sertifikatene for opplastingsnøkkelen og appsigneringsnøkkelen i Google Cloud Console for appen din.
  • Hvis du bruker Android App Links, må du sørge for å oppdatere nøklene i den tilsvarende JSON-filen for Digital Asset Links på nettstedet ditt.

Har du mistet en opplastingsnøkkel, eller er den utsatt for et sikkerhetsbrudd?

Hvis du har mistet den private opplastingsnøkkelen din, eller hvis den er utsatt for et sikkerhetsbrudd, kan du opprette en ny. Deretter kan eieren av utviklerkontoen din starte en tilbakestilling av nøkkelen i Play-konsollen.

Når brukerstøtteteamet vårt har registrert den nye opplastingsnøkkelen, mottar kontoeieren og globale administratorer en innboksmelding og e-post med mer informasjon. Du kan deretter oppdatere nøkkellagrene dine og registrere nøkkelen hos API-leverandører.

Kontoeieren kan også avbryte tilbakestillingsforespørselen i Play-konsollen.

Viktig: Tilbakestilling av opplastingsnøkkelen har ingen innvirkning på appsigneringsnøkkelen Google Play bruker til å signere APK-er på nytt før de leveres til brukere.

APK-signaturskjema v4

Android 11 og nyere enheter støtter det nye APK-signaturskjemaet v4. Play-appsignering bruker v4-signering for kvalifiserte apper for å gjøre det mulig for dem å bruke optimaliserte distribusjonsfunksjoner som er tilgjengelig på nyere enheter. Utviklere trenger ikke å gjøre noe, og det forventes ikke at brukerne blir påvirket av v4-signering.

Relatert innhold

Var dette nyttig for deg?

Hvordan kan vi forbedre den?

Trenger du mer hjelp?

Prøv disse trinnene:

Søk
Slett søket
Lukk søkefunksjonen
Hovedmeny
3109764760461891767
true
Søk i brukerstøtte
true
true
true
true
true
92637
false
false