Bruk Google Play-appsignering

Med Google Play-appsignering administrerer og beskytter Google appens signeringsnøkkel for deg og bruker den til å signere APK-ene dine for distribusjon. Det er en sikker måte å oppbevare appsigneringsnøkkelen din på, og den bidrar til å beskytte deg hvis nøkkelen din blir borte eller blir utsatt for et sikkerhetsbrudd.

Viktig: Hvis du vil bruke Android-appsamlinger, som er det anbefalte formatet for publisering av apper, må du registrere deg for Google Play-appsignering før du laster opp appsamlingen din i Play-konsollen.

For å registrere deg må du være en kontoeier eller -bruker med global tillatelse til å «administrere produksjonsutgaver», og du må godta vilkårene for bruk. Du kan registrere apper for Google Play-appsignering enkeltvis.

Slik fungerer det

Når du bruker Google Play-appsignering, lagres nøklene dine på den samme 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 tekniske infrastruktur, kan du lese Googles åpne infodokumenter om sikkerhet i nettskyen.

Android-apper signeres med en privat nøkkel. For å sikre at appoppdateringer er pålitelige, har hver privat nøkkel et tilhørende offentlig sertifikat som enheter og tjenester bruker til å verifisere at appen kommer fra en pålitelig kilde. 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: Det er valgfritt å bruke Google Play-appsignering. Du kan fortsatt laste opp APK-er og administrere dine egne nøkler i stedet for å bruke en appsamling. 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.

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 registrerer deg for Google Play-appsignering, kan du enten laste opp en eksisterende appsigneringsnøkkel eller la Google Play generere en for deg.

Appsigneringsnøkkelen kan aldri endres i løpet av appens levetid. Hold appsigneringsnøkkelen hemmelig, men du kan dele appens offentlige sertifikat med andre.

Opplastingsnøkkel

Nøkkelen du bruker til å signere appsamlinger eller APK-er 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 når du registrerer deg for appsignering, 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 når du registrerer deg for appsignering, 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 Appsignering-siden 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å Appsignering-siden 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

Du kan laste opp APK-er som er signert med den opprinnelige appsigneringsnøkkelen, før eller etter at du har registrert deg for Google Play-appsignering.

Hvis du begynner å bruke Android-appsamlinger, kan du teste dem i testmålgrupper mens du bruker den eksisterende APK-en i produksjon. Sånn fungerer prosessen:

  1. Signér appsamlingen eller APK-en din, og last den opp til Play-konsollen.
  2. Nedenfor ser du forskjellene i signeringsprosessen, avhengig av hva du laster opp:
    • Appsamling: Google genererer optimaliserte APK-er fra appsamlingen din og signerer dem med appsigneringsnøkkelen.
    • APK signert med opplastingsnøkkel: Google bekrefter signaturen din og fjerner den fra APK-en, før APK-en signeres på nytt med appsigneringsnøkkelen.
    • APK signert med appsigneringsnøkkel: Google bekrefter signaturen.
  3. Google leverer signerte APK-er til brukerne.

Registrer deg for Google Play-appsignering

Nye apper

Trinn 1: Lag en opplastingsnøkkel

  1. Følg instruksjonene, og lag en opplastingsnøkkel.
  2. Signér den nye APK-en din med opplastingsnøkkelen.

Trinn 2: Klargjør utgaven

  1. Følg instruksjonene for å klargjøre og publisere utgaven.
  2. Når du har valgt en lanseringsmålgruppe, konfigurerer du appsignering under «La Google administrere og beskytte appsigneringsnøkkelen din».
  3. Velg Fortsett hvis du vil gjøre den genererte nøkkelen til opplastingsnøkkelen du skal bruke til å signere fremtidige utgaver, eller velg Avanserte alternativer, som innebærer dette:
    • Bruk samme nøkkel som en annen app i utviklerkontoen din (alternativ 2).
    • Last opp en eksisterende appsigneringsnøkkel (alternativ 2, 3 og 4): Velg det alternativet for eksport og opplasting som fungerer best for deg. Når du har lastet opp appsigneringsnøkkelen og det tilhørende offentlige sertifikatet, kan du opprette en opplastingsnøkkel eller fortsette å bruke appsigneringsnøkkelen som opplastingsnøkkel.

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 sertifikatet for nøkkelen Google signerer appen din med, for autentiseringsformål, ved hjelp av fingeravtrykket til sertifikatet. Her finner du sertifikatet:

  1. Logg på Play-konsollen.
  2. Velg en app.
  3. I menyen til venstre velger du Administrering av utgaver > Appsignering.
  4. Kopiér fingeravtrykkene (MD5, SHA-1 og SHA-256) for sertifikatet for appsignering.
  5. 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.
Eksisterende apper

Trinn 1: Registrer deg for Google Play-appsignering

  1. Logg på Play-konsollen.
  2. Velg en app.
  3. I menyen til venstre velger du Administrering av utgaver > Appsignering.
  4. Gå gjennom vilkårene for bruk og velg Godta, hvis du ikke allerede har gjort det.

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

  1. Finn den opprinnelige appsigneringsnøkkelen.
  2. Logg på Play-konsollen.
  3. Velg en app.
  4. I menyen til venstre velger du Administrering av utgaver > Appsignering.
  5. 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. Kopiér fingeravtrykkene (MD5, SHA-1 og SHA-256) for sertifikatet for appsignering.
  3. 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: Signér 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 utgaver før du laster dem opp til Google Play. Hvis du mister 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 utgaver før du laster dem opp til Google Play. Når du har lastet dem opp, ser Google etter en opplastingsnøkkel for utgaven for å bekrefte identiteten din. Hvis du mister opplastingsnøkkelen, kan du kontakte brukerstøtten for å tilbakestille den.

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 Administrering av utgaver > 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.
Begrensninger for opplastingsnøkler
  • De må være RSA-nøkler på 2048 bit eller mer.
  • DSA-, EC- og RSA-nøkler som er kortere enn 2048 bit, støttes ikke.
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 for nye installeringer

I noen situasjoner kan du be om en oppgradering av appsigneringsnøkkelen. Den nye nøkkelen brukes til å signere nye installeringer og appoppdateringer. Den eldre appsigneringsnøkkelen brukes fortsatt til å signere oppdateringer for brukere som installerte appen din før nøkkeloppgraderingen.

Hver app kan bare få appsigneringsnøkkelen sin oppgradert én gang i løpet av levetiden til appen. Hvis du har flere apper som bruker den samme signeringsnøkkelen, spesifikt for å kjøre i den samme prosessen, noe som er svært uvanlig, kan du ikke oppgradere nøkkelen til disse appene.

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.

Merk: Å be om en oppgradering av appsigneringsnøkkelen i Play-konsollen er ikke relatert til nøkkelrotasjonen som er innført i APK-signaturskjema v3 for Android P og høyere. Denne typen nøkkelrotasjon støttes for øyeblikket ikke av Google Play.

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 så de gjenkjenner sertifikatene for både den nye og den gamle appsigneringsnøkkelen.
  • 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å Appsignering-siden i Play-konsollen.  
  • Hvis mange 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, har de mulighet til å avinstallere appen og installere den på nytt for å få oppdateringen.
Be om en nøkkeloppgradering for nye installeringer
  1. Logg på Play-konsollen.
  2. Velg en app.
  3. Gå til menyen til venstre, og velg Administrering av utgaver > Appsignering.
  4. Velg Be om nøkkeloppgradering på kortet «Oppgrader appsigneringsnøkkelen din for nye installeringer».
  5. Velg et alternativ.
    • Avhengig av hvilket alternativ du velger, må du kanskje kontakte brukerstøtten for å gjennomføre forespørselen.
  6. La Google generere en ny appsigneringsnøkkel (anbefales), eller last opp en nøkkel.
    • 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.

Anbefalte fremgangsmåter

  • Hvis du også distribuerer appen din utenfor Google Play eller planlegger å gjøre det senere, kan du generere appsigneringsnøkkelen du vil bruke for hver appbutikk, og deretter laste den opp til Google når du registrerer deg for Google 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 testmålgruppe eller produksjonsmålgruppe, kan du gå til utforskeren for appsamlingen for å laste ned et ZIP-arkiv med alle APK-ene for en bestemt enhet. Disse APK-ene er signert med appsigneringsnøkkelen, og du kan installere APK-ene i ZIP-arkivet på en enhet ved hjelp av kommandolinjeverktøyet bundletool.
  • For bedre sikkerhet bør du generere en ny opplastingsnøkkel som er forskjellig fra appsigneringsnøkkelen.
  • Hvis du vil teste APK-en som er signert med opplastingsnøkkelen, må du registrere opplastingsnøkkelen hos en tjeneste eller API som bruker appens signatur for autentisering, for eksempel Google Maps API eller Facebook SDK.
  • Hvis du bruker Google-API-er, kan det være hensiktsmessig å registrere opplastingssertifikatet i Google Cloud Console for appen din.

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 og deretter be kontoeieren om å kontakte brukerstøtten for å tilbakestille nøkkelen. Når kontoeieren kontakter brukerstøtten, må vedkommende legge ved filen upload_certificate.pem.

Når brukerstøtteteamet vårt har registrert den nye opplastingsnøkkelen, får du en e-post. Deretter kan du oppdatere nøkkellagrene dine og registrere nøkkelen hos API-leverandører.

Viktig: Tilbakestilling av opplastingsnøkkelen din påvirker ikke appsigneringsnøkkelen Google Play bruker til å signere APK-er på nytt før levering til brukerne.

Var dette nyttig for deg?
Hvordan kan vi forbedre den?