Hvis du vil bruge Play-appsignatur, skal du være kontoejer eller bruger med tilladelsen Udgiv til produktion, udeluk enheder, og brug Play-appsignatur, og du skal acceptere servicevilkårene for Play-appsignatur.
Sådan fungerer det
Når du bruger Play-appsignatur, gemmes dine nøgler i den samme sikre infrastruktur, som Google bruger til at gemme sine egne nøgler. Nøglerne beskyttes af Googles Key Management Service. Du kan få flere oplysninger om Googles infrastruktur ved at læse sikkerhedsrapporten for Google Cloud.
Android-apps signeres med en privat nøgle. Alle private nøgler har et tilhørende offentligt certifikat, som enheder og tjenester bruger til at verificere, at appopdateringen kommer fra den samme kilde. På denne måde sikres det, at appopdateringerne er pålidelige. Enheder accepterer kun opdateringer, hvis deres signatur matcher signaturen for den installerede app. Når du lader Google administrere din appsignaturnøgle, hjælper du samtidig med at øge sikkerheden ved denne proces.
Bemærk! Hvis du har apps, der er oprettet før august 2021, kan du stadig uploade en APK og administrere dine egne nøgler i stedet for at bruge Play-appsignatur og udgive med en Android App Bundle. Hvis du mister dit nøglelager, eller hvis det bliver kompromitteret, kan du ikke opdatere din app uden at udgive en ny app med et nyt pakkenavn. Play anbefaler at bruge Play-appsignatur og skifte til app-pakker for disse apps.
Beskrivelser af nøgler, artefakter og værktøjerTerm | Beskrivelse |
---|---|
Appsignaturnøgle |
Den nøgle, som Google Play bruger til at signere de APK-filer, der leveres til en brugers enhed. Når du bruger Play-appsignatur, kan du enten uploade en eksisterende appsignaturnøgle eller anmode Google om at generere en for dig. Din appsignaturnøgle skal holdes hemmelig, men du kan dele det offentlige certifikat for din app med andre. |
Uploadnøgle |
Den nøgle, du bruger til at signere din app-pakke, inden du uploader den til Google Play. Din uploadnøgle skal holdes hemmelig, men du kan dele din apps offentlige certifikat med andre. Af sikkerhedsmæssige årsager er det en god idé at sørge for, at appsignaturnøgler og uploadnøgler ikke er ens. Du kan generere en uploadnøgle på to måder:
|
Certifikat (.der eller .pem ) |
Et certifikat indeholder en offentlig nøgle og yderligere identificerende oplysninger om, hvem der ejer nøglen. Det offentlige nøglecertifikat giver alle mulighed for at verificere, hvem der har signeret app-pakken eller APK-filen, og du kan dele certifikatet med hvem som helst, fordi det ikke indeholder din private nøgle. Hvis du vil registrere dine nøgler hos API-udbydere, kan du downloade det offentlige certifikat til din appsignaturnøgle og din uploadnøgle på siden Play-appsignatur ( Test og udgiv > Konfigurer > Appsignatur) i Play Console. Certifikatet til en offentlig nøgle kan deles med alle. Det indeholder ikke din private nøgle. |
Fingeraftryk for certifikater |
En kort og unik repræsentation af et certifikat, som API-udbydere ofte anmoder om sammen med pakkenavnet for at registrere en app til brug af udbyderens tjeneste. MD5-, SHA-1- og SHA-256-fingeraftryk for upload- og appsignaturcertifikater findes på siden Play-appsignatur (Test og udgiv > Konfigurer > Appsignatur) i Play Console. Andre fingeraftryk kan også genereres ved at downloade det originale certifikat (.der ) på samme side. |
Java-nøglelager (.jks eller .keystore ) |
Et lager af sikkerhedscertifikater og private nøgler. |
Værktøjet PEPK (Play Encrypt Private Key) |
Et værktøj, der bruges til at eksportere private nøgler fra et Java-nøglelager og kryptere dem til overførsel til Google Play. Når du angiver appsignaturnøglen, som Google skal bruge, skal du vælge at eksportere og uploade din nøgle (og om nødvendigt dens offentlige certifikat) og derefter følge vejledningen for at downloade og bruge værktøjet. Hvis du foretrækker det, kan du downloade, gennemgå og bruge PEPK-værktøjets open source-kode. |
Sådan fungerer det:
- Signer din app-pakke, og upload den til Play Console.
- Google genererer optimerede APK-filer fra din app-pakke og signerer dem med appsignaturnøglen.
- Google bruger apksigner til at føje to stempler til din apps manifest (
com.android.stamp.source
ogcom.android.stamp.type
) og signerer derefter APK'erne med din appsignaturnøgle. Stempler, der tilføjes af apksigner, gør det muligt at spore APK'er for at se, hvem der har signeret dem. - Google leverer de signerede APK'er til brugerne.
Konfigurer og administrer Play-appsignatur
Hvis din app endnu ikke anvender Play-appsignatur, skal du følge vejledningen nedenfor.
Trin 1: Opret en uploadnøgle
- Følg denne vejledning for at oprette en uploadnøgle.
- Signer din app-pakke med uploadnøglen.
Trin 2: Forbered din udgivelse
- Følg vejledningen for at forberede og udrulle din udgivelse.
- Når du har valgt et udgivelsesspor, vises status for Play-appsignatur for din app i sektionen "Appintegritet".
- Upload din app-pakke for at fortsætte med en Google-genereret appsignaturnøgle. Du kan også vælge Skift appsignaturnøgle for at få adgang til følgende valgmuligheder:
- Brug en Google-genereret appsignaturnøgle: Mere end 90 % af alle nye apps bruger Google-genererede appsignaturnøgler. Brug af en Google-genereret nøgle beskytter mod tab og kompromittering, da nøglen ikke kan downloades. Hvis du vælger denne mulighed, kan du downloade APK-filer til distribution fra App Bundle Explorer, der er signeret med den Google-genererede nøgle, til andre distributionskanaler, eller bruge en anden nøgle til dem.
- Brug en anden appsignaturnøgle: Hvis du vælger appsignaturnøglen, kan du bruge den samme nøgle som en anden app på din udviklerkonto eller gemme en lokal kopi af din appsignaturnøgle for at få øget fleksibilitet. Du kan f.eks. allerede have besluttet dig for en nøgle, fordi din app er forudinstalleret på nogle enheder. Hvis du har en kopi af din nøgle uden for Googles servere, kan det udgøre en øget risiko, hvis den lokale kopi bliver kompromitteret. Du har følgende muligheder for at bruge en anden nøgle:
- Brug den samme appsignaturnøgle som en anden app på denne udviklerkonto
- Eksportér og upload en nøgle fra et Java-nøglelager
- Eksportér og upload en nøgle (uden at bruge et Java-nøglelager)
- Fravælg Play-appsignatur (du bør kun vælge denne mulighed, hvis du planlægger at opgradere din appsignaturnøgle for at tilmelde dig Play-appsignatur).
- Følg resten af vejledningen for at forberede og udrulle din udgivelse.
Bemærk! Du skal acceptere servicevilkårene og tilvælge appsignatur for at fortsætte.
Trin 3: Registrer din appsignaturnøgle hos API-udbydere
Hvis din app anvender API'er, skal du normalt registrere din appsignaturnøgle hos dem af godkendelsesmæssige årsager. Dette gøres ved hjælp af fingeraftrykket for certifikatet. Sådan finder du certifikatet:
- Åbn Play Console, og gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur).- Tip! Du kan også få adgang til denne side via siden Appintegritet (
Test og udgiv
> Appintegritet), som indeholder integritets- og signaturtjenester, der hjælper dig med at sikre, at brugerne oplever dine apps og spil på den tiltænkte måde.
- Tip! Du kan også få adgang til denne side via siden Appintegritet (
- Rul til sektionen "Appsignaturnøglens certifikat", og kopiér fingeraftrykkene (MD5, SHA-1 og SHA-256) for dit appsignaturcertifikat.
- Hvis API-udbyderen kræver en anden type fingeraftryk, kan du også downloade det oprindelige certifikat i formatet
.der
og konvertere det ved hjælp af de forandringsværktøjer, der kræves af API-udbyderen.
- Hvis API-udbyderen kræver en anden type fingeraftryk, kan du også downloade det oprindelige certifikat i formatet
Når du bruger en Google-genereret nøgle, genererer Google automatisk en kryptografisk stærk RSA-nøgle, der er 4096 bit. Hvis du vælger at uploade din egen appsignaturnøgle, skal den være en RSA-nøgle på mindst 2048 bit.
Trin 1: Konfigurer Play-appsignatur
- Åbn Play Console, og gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur).- Tip! Du kan også få adgang til denne side via siden Appintegritet (
Test og udgiv
> Appintegritet), som indeholder integritets- og signaturtjenester, der hjælper dig med at sikre, at brugerne oplever dine apps og spil på den tiltænkte måde.
- Tip! Du kan også få adgang til denne side via siden Appintegritet (
- Hvis du ikke allerede har gjort det, skal du gennemgå servicevilkårene for Play-appsignatur og vælge Acceptér.
Trin 2: Send en kopi af din oprindelige nøgle til Google, og opret en uploadnøgle
- Find din oprindelige appsignaturnøgle.
- Åbn Play Console, og gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur). - Vælg den løsning til eksport og upload, som bedst passer til din udgivelsesproces, og upload en eksisterende appsignaturnøgle.
Trin 3: Opret en uploadnøgle (valgfrit og anbefalet)
- Opret en uploadnøgle, og upload certifikatet til Google Play.
- Du kan også fortsætte med at bruge appsignaturnøglen som uploadnøgle.
- Kopiér fingeraftrykkene (MD5, SHA-1 og SHA-256) for dit appsignaturcertifikat.
- I forbindelse med tests skal du muligvis registrere certifikatet for din uploadnøgle hos API-udbydere ved hjælp af fingeraftrykket for certifikatet og appsignaturnøglen.
Trin 4: Signer din næste appopdatering med uploadnøglen
Når du udgiver opdateringer til din app, skal du signere dem med din uploadnøgle.
- Hvis du ikke har genereret en ny uploadnøgle: Fortsæt med at bruge din oprindelige appsignaturnøgle til at signere app-pakker, inden du uploader dem til Google Play. Hvis du mister din originale appsignaturnøgle, kan du generere en ny uploadnøgle og registrere den hos Google for at fortsætte med at opdatere din app.
- Hvis du har genereret en ny uploadnøgle: Brug din nye uploadnøgle til at signere app-pakker, inden du uploader dem til Google Play. Google bruger uploadnøglen til at verificere din identitet. Hvis du mister din uploadnøgle, kan du kontakte support for at nulstille den.
Det kan være en god idé at gøre det, hvis du ikke kan dele din eksisterende nøgle. Bemærk følgende, før du vælger at opgradere din appsignaturnøgle til tilmelding:
- Denne valgmulighed kræver en dobbeltudgivelse.
- Du skal uploade en app-pakke og en APK-fil, der er signeret med din forældede nøgle, i hver udgivelse. Google Play anvender dine app-pakker til at generere APK-filer, der er signeret med den nye nøgle, til enheder med Android R* (API-niveau 30) eller nyere. Dine forældede APK-filer anvendes til ældre Android-versioner (op til API-niveau 29).
*Hvis din app gør brug af sharedUserId
, anbefales det at anvende nøgleopgradering til installationer og opdateringer på enheder med Android T (API-niveau 33) eller nyere. Hvis du vil konfigurere dette, skal du angive en nøjagtig minimal SDK-version i pakkekonfigurationen.
Trin 1: Upload din nye nøgle, og generér og upload et udskiftningsbevis
Hvis der skal udvises tillid til den nye nøgle på Android-enheder, skal du uploade en ny signaturnøgle fra et lager og generere og uploade et udskiftningsbevis:
- Åbn Play Console, og gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur).- Tip! Du kan også få adgang til denne side via siden Appintegritet (
Test og udgiv
> Appintegritet), som indeholder integritets- og signaturtjenester, der hjælper dig med at sikre, at brugerne oplever dine apps og spil på den tiltænkte måde.
- Tip! Du kan også få adgang til denne side via siden Appintegritet (
- Vælg fanen Appsignatur.
- Klik på Vis avancerede valgmuligheder, og vælg Brug en ny appsignaturnøgle (dette kræver løbende dobbeltudgivelser).
- Vælg at bruge den samme appsignaturnøgle som en anden app på din udviklerkonto, eller upload en ny appsignaturnøgle fra Android Studio, Java-nøglelager eller et andet lager.
- Download og kør PEPK-værktøjet ved at følge vejledningen på skærmen.
- Når din ZIP-fil er klar, skal du klikke på Upload genereret ZIP-fil og uploade den til Play Console.
- Ud for "5. Tillad, at der udvises tillid til den nye nøgle på Android-enheder, ved at uploade et udskiftningsbevis" skal du klikke på Se vejledning.
- Download APKSigner, og generér udskiftningsbeviset ved at køre denne kommando:
$ 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
- Klik på Upload filen med det genererede udskiftningsbevis, og upload det udskiftningsbevis, der blev genereret i trin 8.
- Klik på Gem.
Opret en uploadnøgle, og opdater nøglelagre
For at øge sikkerheden anbefales det, at du signerer din app med en ny uploadnøgle i stedet for din appsignaturnøgle.
Du kan oprette en uploadnøgle, når du tilvælger Play-appsignatur, eller du kan oprette en uploadnøgle på et senere tidspunkt ved at gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur).Sådan opretter du en uploadnøgle:
- Følg vejledningen på websitet for Android-udviklere. Opbevar din nøgle på et sikkert sted.
- Eksportér certifikatet for uploadnøglen til PEM-format. Erstat følgende understregede argumenter:
$ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
-
Upload certifikatet for at registrere det hos Google, når du bliver bedt om det under udgivelsesprocessen.
Når du bruger en uploadnøgle:
- Din uploadnøgle registreres kun hos Google for at godkende identiteten på appens udvikler.
- Din signatur fjernes fra alle uploadede APK-filer, inden de sendes til brugerne.
- Den skal være en RSA-nøgle på mindst 2048 bit.
Følgende er placeringer, som det kan være en god idé at tjekke og opdatere, når du har oprettet en uploadnøgle:
- Lokale maskiner
- Låst fysisk server (varierende adgangskontrollister)
- Cloud-computer (varierende adgangskontrollister)
- Dedikerede tjenester til administration af hemmeligheder
- (Git)-lagre
Opgrader din appsignaturnøgle
I nogle tilfælde kan du anmode om en opgradering af appsignaturnøglen.
Her er nogle grunde til at anmode om opgradering af en appsignaturnøgle:
- Du har brug for en kryptografisk stærkere nøgle.
- Din appsignaturnøgle er blevet kompromitteret.
Vigtigt! Nøgleopgraderinger understøttes kun til apps, der anvender app-pakker.
Før du anmoder om en nøgleopgradering i Play Console, skal du læse sektionen Vigtige overvejelser, inden du anmoder om en nøgleopgradering nedenfor. Du kan derefter udvide de øvrige sektioner nedenfor for at få flere oplysninger om, hvordan du anmoder om en nøgleopgradering.
Vigtige overvejelser, inden du anmoder om en nøgleopgraderingFør du anmoder om en nøgleopgradering, er det vigtigt at forstå de ændringer, du måske skal foretage, når opgraderingen er udført.
- Hvis du bruger den samme appsignaturnøgle til flere apps for at dele data eller kode mellem dem, skal du opdatere dine apps, så de anerkender både de nye og de gamle certifikater for appsignaturnøglen. På enheder med Android S (API-niveau 32) eller ældre er det kun certifikatet for den gamle appsignaturnøgle, der anerkendes af Android-platformen ved deling af data/kode.
- Hvis din app anvender API'er, skal du sørge for at registrere certifikaterne for din nye og gamle appsignaturnøgle hos API-udbydere, før du udgiver en opdatering. Dette skal gøres for at sikre, at API'erne fortsat fungerer. Certifikaterne er tilgængelige på siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur) i Play Console. - Hvis nogen af dine brugere installerer opdateringer via P2P-deling, kan de kun installere opdateringer, der er signeret med den samme nøgle som den version af din app, de allerede har installeret. Hvis de ikke kan opdatere deres app, fordi deres version af appen er signeret med en anden nøgle, kan de afinstallere og geninstallere appen for at få opdateringen.
De enkelte apps kan få opgraderet deres appsignaturnøgle til alle installationer i Android N (API-niveau 24) eller nyere én gang om året.
Hvis din anmodning om nøgleopgradering lykkes, bruges din nye nøgle til at signere alle installationer og appopdateringer. På enheder med Android T (API-niveau 33) og nyere håndhæver Android-platformen brugen af den opgraderede nøgle. På enheder med Android S (API-niveau 32) eller ældre håndhæver Android-platformen ikke brugen af denne opgraderede nøgle og anerkender stadig den gamle signaturnøgle som appens signaturnøgle. Dette omfatter også Android-platformsfunktioner (f.eks. tilpasset deling af tilladelser), der er afhængige af appens signaturnøgle. På enheder med Android N (API-niveau 24) til Android S (API-niveau 32) tjekker Google Play Protect, om appopdateringerne signeres med din opgraderede nøgle, medmindre brugeren har deaktiveret dette. Det giver en ekstra validering, da Android-platformen ikke håndhæver brugen af den opgraderede nøgle på enheder med Android S (API-niveau 32) eller ældre.
- Åbn Play Console, og gå til siden Play-appsignatur (
Test og udgiv
> Konfigurer > Appsignatur).- Tip! Du kan også få adgang til denne side via siden Appintegritet (
Test og udgiv
> Appintegritet), som indeholder integritets- og signaturtjenester, der hjælper dig med at sikre, at brugerne oplever dine apps og spil på den tiltænkte måde.
- Tip! Du kan også få adgang til denne side via siden Appintegritet (
- Vælg Anmod om opgradering af nøgle på kortet "Opgrader din appsignaturnøgle".
- Vælg en af mulighederne for at opgradere din appsignaturnøgle til alle installationer i Android T eller nyere.
- Få Google til at generere en ny appsignaturnøgle (anbefales), eller upload en.
- Hvis du har brugt den samme nøgle til appsignatur og upload, kan du fortsætte med at bruge din gamle appsignaturnøgle som uploadnøgle eller generere en ny, når du har opgraderet din appsignaturnøgle.
- Vælg en årsag til, at du anmoder om opgradering af appsignaturnøglen.
- Hvis det er nødvendigt, skal du registrere din nye appsignaturnøgle hos API-udbyderne.
Tip! Hvis du distribuerer din app på flere distributionskanaler, og du vil maksimere kompatibiliteten med appopdateringer for dine brugere, bør du opgradere din nøgle på de enkelte distributionskanaler. For at sikre kompatibilitet med Google Plays nøgleopgradering skal du bruge det ApkSigner-værktøj, der følger med Android SDK Build Tools (revideret version 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}
Få flere oplysninger om, hvordan appopdateringer fungerer.
Optimale løsninger
- Hvis du også distribuerer din app uden for Google Play eller planlægger at gøre det på et senere tidspunkt, og du vil bruge den samme signaturnøgle, har du to muligheder:
- Du kan enten lade Google generere nøglen (anbefales) og derefter downloade en signeret, universel APK fra App Bundle Explorer for at distribuere uden for Google Play.
- Du kan også generere den appsignaturnøgle, du vil bruge til alle appbutikker, og derefter overføre en kopi af den til Google, når du konfigurerer Play-appsignatur.
- Beskyt din konto ved at aktivere totrinsverificering for konti med adgang til Play Console.
- Når du har udgivet en app-pakke til et udgivelsesspor, kan du gå til App Bundle Explorer for at få adgang til installerbare APK-filer, som Google genererer fra din app-pakke. Du kan gøre følgende:
- Kopiere og dele et link til intern appdeling, så du med et enkelt tryk kan teste, hvad Google Play ville installere fra din app-pakke på forskellige enheder.
- Downloade en signeret universel APK-fil. Denne ene APK-fil er signeret med den appsignaturnøgle, som Google har, og kan installeres på alle enheder, som din app understøtter.
- Downloade en zip-fil med alle APK'erne for en bestemt enhed. Disse APK'er er signeret med den appsignaturnøgle, som Google har. Du kan installere APK'erne i zip-filen på en enhed ved hjælp af kommandoen
adb install-multiple *.apk
.
- Hvis du vil øge sikkerheden, kan du generere en ny uploadnøgle, som adskiller sig fra din appsignaturnøgle.
- Hvis du bruger en Google API, kan det være en god idé at registrere certifikaterne for uploadnøglen og appsignaturnøglen i Google Cloud Console for din app.
- Hvis du bruger Android-applinks, skal du sørge for at opdatere dine nøgler i den tilsvarende JSON-fil Digital Asset Links på dit website.
Mistet eller kompromitteret uploadnøgle?
Hvis du har mistet din private uploadnøgle, eller hvis den er blevet kompromitteret, kan du oprette en ny. Ejeren af din udviklerkonto kan derefter starte en nulstilling af nøglen i Play Console.
Når vores supportteam har registreret den nye uploadnøgle, modtager kontoejeren og de globale administratorer en indbakkemeddelelse og en mail med yderligere oplysninger. Du kan derefter opdatere dine nøglelagre og registrere din nøgle hos API-udbydere.
Kontoejeren kan også annullere anmodningen om nulstilling i Play Console.
Vigtigt! Nulstilling af din uploadnøgle påvirker ikke den appsignaturnøgle, som Google Play bruger til at signere APK-filer igen, inden de leveres til brugerne.
Version 4 af APK-signaturskemaet
Enheder med Android 11 og nyere understøtter den nye version 4 af APK-signaturskemaet. Play-appsignatur bruger v4-signering til kvalificerede apps, så de kan tilgå funktioner til optimeret distribution, som er tilgængelige på nyere enheder. Der kræves ingen handlinger fra udviklernes side, og der forventes ingen brugerpåvirkning fra v4-signering.
Relateret indhold
- Få flere oplysninger om integritet og signaturtjenester i Play Console
- Få flere oplysninger om integritets- og signaturtjenester på websitet for Android-udviklere