App-ondertekening van Play gebruiken

Met app-ondertekening van Play beheert en beschermt Google je app-ondertekeningssleutel en wordt deze gebruikt om je APK's te ondertekenen voor distributie. Dit is een beveiligde manier om je app-ondertekeningssleutel op te slaan die je beschermt als je je sleutel kwijtraakt of als deze wordt gehackt.

Belangrijk: Als je Android App Bundles (de aanbevolen indeling voor app-publicatie) wilt gebruiken, moet je je inschrijven voor app-ondertekening van Play voordat je je app-bundel uploadt naar de Play Console.

Als je je wilt aanmelden, moet je accounteigenaar of gebruiker zijn met het recht Vrijgeven aan productie, apparaten uitsluiten en app-ondertekening van Play gebruiken en moet je de Servicevoorwaarden accepteren. Je kunt apps één voor één inschrijven voor app-ondertekening van Play.

Hoe het werkt

Als je app-ondertekening van Play gebruikt, worden je sleutels opgeslagen via dezelfde infrastructuur die Google gebruikt om zelf sleutels op te slaan. De sleutels worden beveiligd met de service voor sleutelbeheer van Google. Voor meer informatie over de technische infrastructuur van Google kun je de whitepaper over de beveiliging van Google Cloud lezen.

Android-apps worden ondertekend met een privésleutel. Elke privésleutel heeft een bijbehorend openbaar certificaat waarmee apparaten en services kunnen verifiëren of de app afkomstig is van een vertrouwde bron. Zo weet je zeker dat app-updates betrouwbaar zijn. Apparaten accepteren updates alleen als de handtekening overeenkomt met de handtekening van de geïnstalleerde app. Als je Google je app-ondertekeningssleutel laat beheren, wordt dit proces beter beveiligd.

Opmerking: Het gebruik van app-ondertekening van Play is optioneel. In plaats van een app-bundel te gebruiken, kun je ook nog steeds een APK uploaden om je eigen sleutels te beheren. Als je echter je keystore kwijtraakt of deze wordt gehackt, kun je je app pas updaten als je een nieuwe app met een nieuwe pakketnaam publiceert.

Beschrijvingen van sleutels, artefacten en tools
Term Beschrijving
App-ondertekeningssleutel

De sleutel die Google Play gebruikt om de APK's te ondertekenen die aan het apparaat van een gebruiker worden geleverd. Als je je aanmeldt voor app-ondertekening van Play, kun je een bestaande app-ondertekeningssleutel uploaden of Google een sleutel voor je laten maken.

De app-ondertekeningssleutel kan gedurende de levensduur van je app niet worden gewijzigd. Je moet je app-ondertekeningssleutel geheimhouden, maar je mag het openbare certificaat van je app wel met anderen delen.

Uploadsleutel

De sleutel die je gebruikt om je app-bundel of APK te ondertekenen voordat je deze uploadt naar Google Play. Je moet je uploadsleutel geheimhouden, maar je mag het openbare certificaat van je app wel met anderen delen. Vanwege veiligheidsredenen is het verstandig om verschillende app-ondertekeningssleutels en uploadsleutels te hebben.

Er zijn 2 manieren om een uploadsleutel te maken:

  • Je app-ondertekeningssleutel gebruiken: als je ervoor kiest om Google een app-ondertekeningssleutel voor je te laten maken als je je aanmeldt voor app-ondertekening, wordt de sleutel waarmee je je eerste release ondertekent aangewezen als je uploadsleutel.
  • Een afzonderlijke uploadsleutel gebruiken: als je je eigen app-ondertekeningssleutel verstrekt bij aanmelding voor app-ondertekening, heb je de mogelijkheid om een nieuwe uploadsleutel te maken voor een betere beveiliging. Als je geen uploadsleutel maakt, blijf je je app-ondertekeningssleutel als uploadsleutel gebruiken om nieuwe releases te ondertekenen.
Certificaat (.der of .pem)

Een certificaat bevat een openbare sleutel en aanvullende identificatiegegevens over wie de eigenaar is van de sleutel. Met het certificaat met de openbare sleutel kan iedereen verifiëren wie de app-bundel of APK heeft ondertekend. Je kunt het certificaat met iedereen delen omdat je persoonlijke sleutel daarin niet is opgenomen

Als je je sleutel(s) wilt registreren bij API-providers, kun je het openbare certificaat voor je app-ondertekeningssleutel en uploadsleutel downloaden via de app-ondertekeningspagina in de Play Console. Het certificaat met de openbare sleutel kan met iedereen worden gedeeld. Dit bevat je persoonlijke sleutel niet.

Vingerafdruk van certificaat

Een korte en unieke representatie van een certificaat dat API-providers vaak in combinatie met de pakketnaam aanvragen om een app te registreren voor het gebruik van hun service.

De MD5-, SHA-1- en SHA-256-vingerafdrukken van de upload- en app-ondertekeningscertificaten zijn te vinden op de app-ondertekeningspagina van de Play Console. Andere vingerafdrukken kunnen ook worden berekend door het oorspronkelijke certificaat (.der) op dezelfde pagina te downloaden.

Java-keystore (.jks of .keystore) Een opslagplaats voor beveiligingscertificaten en privésleutels.
PEPK-tool (Play Encrypt Private Key)

Een tool om privésleutels uit een Java-keystore te exporteren en te versleutelen voor overdracht naar Google Play.

Op het moment dat je de app-ondertekeningssleutel verstrekt die Google moet gebruiken, selecteer je de optie om een sleutel (en zo nodig het bijbehorende openbare certificaat) te exporteren en te uploaden en volg je de instructies om de tool te downloaden en te gebruiken. Je kunt desgewenst de opensource-code van de PEPK-tool downloaden, bekijken en gebruiken.

App-ondertekeningsproces

Je kunt APK's die zijn ondertekend met de oorspronkelijke app-ondertekeningssleutel uploaden voor- of nadat je je hebt aangemeld voor app-ondertekening van Play.

Als je app-bundels gaat gebruiken, kun je ze testen in testtracks terwijl je je bestaande APK in de productiefase gebruikt. Zo werkt dit proces:

  1. Onderteken je app-bundel of APK en upload deze naar de Play Console.
  2. Het app-ondertekeningsproces verschilt afhankelijk van wat je uploadt:
    • App-bundel:
      • Google maakt geoptimaliseerde APK's uit je app-bundel en ondertekent ze met de app-ondertekeningssleutel.
      • Google voegt 2 stempels toe aan het manifest van je app (com.android.stamp.source en com.android.stamp.type). Zo kun je je APK traceren naar de oorsprong.
    • APK ondertekend met uploadsleutel: Google verifieert en verwijdert je handtekening uit de APK, waarna de APK opnieuw wordt ondertekend met de app-ondertekeningssleutel.
    • APK ondertekend met app-ondertekeningssleutel: Google verifieert de handtekening.
  3. Gebruikers zien de gepubliceerde app met de ondertekende APK's.

Aanmelden voor app-ondertekening van Play

Nieuwe apps

Stap 1: Maak een uploadsleutel

  1. Volg de instructies en maak een uploadsleutel.
  2. Onderteken de nieuwe APK met de uploadsleutel.

Stap 2: Bereid je release voor

  1. Volg de instructies om je release voor te bereiden en te implementeren.
  2. Stel in het gedeelte 'Google je app-ondertekeningssleutel laten beheren en beschermen' de app-ondertekening in nadat je de releasetrack hebt gekozen.
  3. Selecteer Doorgaan om de gemaakte sleutel in te stellen als de uploadsleutel waarmee toekomstige releases worden ondertekend. Selecteer Voorkeuren voor app-ondertekening om onder andere de volgende opties kiezen:
    • Dezelfde sleutel gebruiken als voor een andere app in je ontwikkelaarsaccount (optie 2).
    • Exporteer en upload een bestaande sleutel uit een Java-keystore (optie 3) of gebruik geen Java-keystore (optie 4). Kies de export- en uploadoptie die het beste bij je past. Nadat je de app-ondertekeningssleutel en het bijbehorende openbare certificaat hebt geüpload, kun je een uploadsleutel maken of de app-ondertekeningssleutel blijven gebruiken als je uploadsleutel.
    • Afmelden voor app-ondertekening van Play (optie 5)
  4. Selecteer Updaten.

Opmerking: Je moet de Servicevoorwaarden accepteren en je aanmelden voor app-ondertekening om door te gaan.

Stap 3: Registreer de app-ondertekeningssleutel bij API-providers

Als je app gebruikmaakt van een API, moet je meestal het certificaat registreren voor de sleutel waarmee Google je app ondertekent met behulp van de vingerafdruk van het certificaat. Dit is nodig voor verificatiedoeleinden. Zo vind je het certificaat:

  1. Open de Play Console.
  2. Selecteer Release > Instellen > App-integriteit in het linkermenu.
  3. Scroll naar het gedeelte Certificaat voor app-ondertekeningssleutel en kopieer de vingerafdrukken (MD5, SHA-1 en SHA-256) van je app-ondertekeningscertificaat.
    • Als de API-provider een ander type vingerafdruk vereist, kun je ook het oorspronkelijke certificaat downloaden in .der-indeling en dit vervolgens converteren met de transformatietools die de API-provider aanlevert.
Bestaande apps

Stap 1: Schrijf je in voor app-ondertekening van Play

  1. Open de Play Console.
  2. Selecteer een app.
  3. Selecteer Release > Instellen > App-integriteit in het linkermenu.
  4. Lees de Servicevoorwaarden en selecteer Accepteren, als je dit nog niet hebt gedaan.

Stap 2: Stuur je oorspronkelijke sleutel naar Google en maak een uploadsleutel

  1. Zoek je oorspronkelijke app-ondertekeningssleutel.
  2. Open de Play Console.
  3. Selecteer een app.
  4. Selecteer Release > Instellen > App-integriteit in het linkermenu.
  5. Selecteer de export- en uploadoptie die het beste bij je releaseproces past en upload een bestaande app-ondertekeningssleutel.

Stap 3: Maak een uploadsleutel (optioneel en aanbevolen)

  1. Maak een uploadsleutel en upload het certificaat naar Google Play.
    • Je kunt ook de app-ondertekeningssleutel blijven gebruiken als uploadsleutel.
  2. Kopieer de vingerafdrukken (MD5, SHA-1 en SHA-256) van je app-ondertekeningscertificaat.
    • Mogelijk moet je voor testdoeleinden het certificaat van je uploadsleutel registreren bij API-providers met de vingerafdruk van het certificaat en de app-ondertekeningssleutel.

Stap 4: Onderteken je volgende app-update met de uploadsleutel

Als je updates voor je app releaset, moet je deze ondertekenen met je uploadsleutel.

  • Als je geen nieuwe uploadsleutel hebt gemaakt: blijf je oorspronkelijke app-ondertekeningssleutel gebruiken om releases te ondertekenen voordat je ze uploadt naar Google Play. Als je je app-ondertekeningssleutel kwijtraakt, kun je een nieuwe uploadsleutel maken en deze bij Google registreren, zodat je je app kunt blijven updaten.
  • Als je een nieuwe uploadsleutel hebt gemaakt: gebruik je nieuwe uploadsleutel om releases te ondertekenen voordat je ze uploadt naar Google Play. Nadat je ze hebt geüpload, controleert Google of de release is ondertekend met een uploadsleutel om je identiteit te verifiëren. Als je je uploadsleutel kwijtraakt, kun je contact opnemen met support om de sleutel te resetten.

Een uploadsleutel maken en keystores updaten

Uit beveiligingsoverwegingen kun je je app het beste ondertekenen met een nieuwe uploadsleutel in plaats van je app-ondertekeningssleutel.

Je kunt een uploadsleutel maken als je je aanmeldt voor app-ondertekening van Play. Je kunt ook later een uploadsleutel maken via Instellen > App-integriteit.

Zo maak je een uploadsleutel:

  1. Volg de instructies op de site voor Android-ontwikkelaars. Bewaar je sleutel op een veilige plaats.
  2. Exporteer het certificaat voor de uploadsleutel naar de pem-indeling. Vervang de volgende onderstreepte argumenten:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Upload het certificaat om dit bij Google te registreren als je daar tijdens het releaseproces om wordt gevraagd.

Als je een uploadsleutel gebruikt:

  • Je uploadsleutel wordt alleen geregistreerd bij Google om de identiteit van de maker van de app te verifiëren.
  • Je ondertekening wordt verwijderd uit geüploade APK's voordat deze naar gebruikers worden gestuurd.
Beperkingen voor de uploadsleutel
  • Moet een RSA-sleutel van 2048 bits of meer zijn.
Keystores updaten

Nadat je een uploadsleutel hebt gemaakt, is het handig om de volgende locaties te controleren en te updaten:

  • Lokale machines
  • Vergrendelde servers ter plaatse (verschillende ACL's)
  • Cloudapparaat (verschillende ACL's)
  • Speciale beheerservices voor geheimen
  • (Git-)opslagplaatsen

Je app-ondertekeningssleutel upgraden voor nieuwe installaties

In sommige gevallen kun je een upgrade van een app-ondertekeningssleutel aanvragen. Je nieuwe sleutel wordt gebruikt om nieuwe installaties en app-updates te ondertekenen. Je verouderde app-ondertekeningssleutel wordt nog steeds gebruikt om updates te ondertekenen voor gebruikers die je app hebben geïnstalleerd vóór de sleutelupgrade.

Voor elke app kan de bijbehorende app-ondertekeningssleutel één keer gedurende de levensduur worden geüpgraded. In het onwaarschijnlijke geval dat je meerdere apps hebt die dezelfde ondertekeningssleutel gebruiken voor hetzelfde proces, kun je de sleutelupgrade niet gebruiken voor die apps.

Hier volgen enkele redenen om een upgrade van de app-ondertekeningssleutel aan te vragen:

  • Je hebt een cryptografisch sterkere sleutel nodig.
  • Je app-ondertekeningssleutel is gehackt.

Opmerking: Als je een upgrade van een app-ondertekeningssleutel in de Play Console aanvraagt, is dat niet gerelateerd aan sleutelroulatie zoals geïntroduceerd in APK Signature Scheme v3 voor Android P en hoger. Dit type sleutelroulatie wordt momenteel niet ondersteund door Google Play.

Belangrijke overwegingen voordat je een sleutelupgrade aanvraagt

Voordat je een sleutelupgrade aanvraagt, is het belangrijk dat je begrijpt welke wijzigingen je moet aanbrengen nadat de upgrade is afgerond.

  • Als je dezelfde app-ondertekeningssleutel voor meerdere apps gebruikt om gegevens/code tussen deze apps te delen, moet je je apps updaten om zowel je nieuwe als verouderde app-ondertekeningssleutelcertificaten te herkennen.
  • Als je app API's gebruikt, moet je de certificaten voor je nieuwe en verouderde app-ondertekeningssleutel registreren bij API-providers voordat je een update voor je app publiceert om ervoor te zorgen dat de API's blijven werken. Certificaten zijn beschikbaar op de pagina App-ondertekening in de Play Console.  
  • Als veel van je gebruikers updates gedeeld via peer-to-peer ontvangen, kunnen ze alleen updates installeren die zijn ondertekend met dezelfde sleutel als de versie van je app die ze al hebben geïnstalleerd. Als ze hun app niet kunnen updaten omdat ze een versie van je app hebben die is ondertekend met een andere sleutel, kunnen ze de app verwijderen en opnieuw installeren om de update te ontvangen.
Een sleutelupgrade voor nieuwe installaties aanvragen
  1. Log in bij de Play Console.
  2. Selecteer een app.
  3. Selecteer Release > Instellen > App-integriteit in het linkermenu.
  4. Selecteer Upgrade van sleutel aanvragen op de kaart Je app-ondertekeningssleutel upgraden voor nieuwe installaties.
  5. Selecteer een optie.
    • Afhankelijk van de optie die je selecteert, moet je misschien contact opnemen met het supportteam om je verzoek af te ronden.
  6. Laat Google een nieuwe app-ondertekeningssleutel maken (aanbevolen) of upload een sleutel.
    • Nadat je de app-ondertekeningssleutel hebt geüpgraded en als je dezelfde sleutel als app-ondertekeningssleutel en uploadsleutel gebruikte, kun je de verouderde app-ondertekeningssleutel blijven gebruiken als uploadsleutel of een nieuwe uploadsleutel maken.

Praktische tips

  • Als je je app ook buiten Google Play distribueert of van plan bent dit later te doen en dezelfde ondertekeningssleutel wilt gebruiken, heb je 2 opties:
    • Laat Google de sleutel maken (aanbevolen) en download vervolgens een ondertekende, universele APK uit de app-bundel-verkenner om je app buiten Google Play te distribueren. Je kunt ook ondertekende APK's downloaden via de Google Play Developer API.
    • Of je kunt de app-ondertekeningssleutel maken die je voor elke app-store wilt gebruiken en vervolgens een kopie ervan overzetten naar Google als je je aanmeldt voor app-ondertekening van Play.
  • Voor de beveiliging van je account raden we je aan verificatie in 2 stappen aan te zetten voor alle accounts met toegang tot je Play Console.
  • Nadat je een app-bundel naar een testtrack of de productietrack hebt gepubliceerd, kun je via de app-bundel-verkenner een zip-archief downloaden met alle APK's voor een specifiek apparaat. Deze APK's worden ondertekend met de app-ondertekeningssleutel en je kunt de APK's in het zip-archief op een apparaat installeren met de opdracht adb install-multiple *.apk.
  • Voor betere beveiliging kun je een nieuwe uploadsleutel maken die verschilt van de app-ondertekeningssleutel.
  • Als je de APK wilt testen die is ondertekend met de uploadsleutel, moet je je uploadsleutel registreren bij een service of API die de ondertekening van je app gebruikt voor verificatie, zoals de Google Maps API of Facebook-SDK.
  • Als je een Google API gebruikt, kun je het uploadcertificaat registreren in de Google Cloud Console voor je app.

Ben je je uploadsleutel kwijtgeraakt of is deze gehackt?

Als je je privé-uploadsleutel bent kwijtgeraakt of als deze is gehackt, kun je een nieuwe maken en vervolgens de eigenaar van je account vragen om contact op te nemen met support om de sleutel te resetten. Zorg ervoor dat je accounteigenaar het bestand upload_certificate.pem bijvoegt als je contact opneemt met support.

Nadat ons supportteam de nieuwe uploadsleutel heeft geregistreerd, krijg je een e-mail. Vervolgens kun je je keystores updaten en je sleutel registreren bij API-providers.

Belangrijk: Als je je uploadsleutel reset, is dit niet van invloed op de app-ondertekeningssleutel die Google Play gebruikt om APK's opnieuw te ondertekenen voordat ze worden geleverd aan gebruikers.

Was dit nuttig?
Hoe kunnen we dit verbeteren?

Meer hulp nodig?

Log in voor extra supportopties om uw probleem snel op te lossen