App-ondertekening van Google Play gebruiken

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

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

Als u zich wilt aanmelden, moet u eigenaar van het account zijn of een gebruiker met het algemene recht 'Productiereleases beheren'. Daarnaast moet u de servicevoorwaarden accepteren. U kunt apps één voor één inschrijven voor app-ondertekening van Google Play.

Hoe het werkt

Wanneer u app-ondertekening van Google Play gebruikt, worden uw sleutels opgeslagen via dezelfde infrastructuur die Google gebruikt om de eigen sleutels op te slaan. De sleutels worden beveiligd met de service voor sleutelbeheer van Google. Voor meer informatie over de technische infrastructuur van Google kunt u 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 u zeker dat app-updates betrouwbaar zijn. Apparaten accepteren updates alleen wanneer de handtekening overeenkomt met de handtekening van de geïnstalleerde app. Als u Google uw app-ondertekeningssleutel laat beheren, wordt dit proces veiliger.

Opmerking: Het gebruik van app-ondertekening van Google Play is optioneel. In plaats van een app-bundel te gebruiken, kunt u ook nog steeds een APK uploaden om uw eigen sleutels te beheren. Als u echter uw sleutelarchief kwijtraakt of dit wordt gecompromitteerd, kunt u uw app pas updaten als u 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. Wanneer u zich aanmeldt voor app-ondertekening van Google Play, kunt u een bestaande app-ondertekeningssleutel uploaden of Google een sleutel voor u laten genereren.

De app-ondertekeningssleutel kan gedurende de levensduur van uw app niet worden gewijzigd. U moet uw app-ondertekeningssleutel geheim houden, maar u mag het openbare certificaat van uw app wel met anderen delen.

Uploadsleutel

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

Er zijn twee manieren om een uploadsleutel te genereren:

  • Uw app-ondertekeningssleutel gebruiken: Als u ervoor kiest om Google een app-ondertekeningssleutel voor u te laten genereren wanneer u zich aanmeldt voor app-ondertekening, wordt de sleutel die u gebruikt om uw eerste release te ondertekenen, aangewezen als uw uploadsleutel.
  • Een afzonderlijke uploadsleutel gebruiken: Als u uw eigen app-ondertekeningssleutel verstrekt wanneer u zich aanmeldt voor app-ondertekening, heeft u de mogelijkheid om een nieuwe uploadsleutel te genereren voor een betere beveiliging. Als u geen uploadsleutel genereert, blijft u uw 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. U kunt het certificaat met iedereen delen omdat dit uw persoonlijke sleutel niet bevat.

Als u uw sleutel(s) wilt registreren bij API-providers, kunt u het openbare certificaat voor uw 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 uw 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-sleutelarchief (.jks of .keystore) Een opslagplaats voor beveiligingscertificaten en privésleutels.
PEPK-tool (Play Encrypt Private Key)

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

Wanneer u de app-ondertekeningssleutel verstrekt die Google moet gebruiken, selecteert u de optie om een sleutel (en zo nodig het bijbehorende openbare certificaat) te exporteren en te uploaden en volgt u de instructies om de tool te downloaden en te gebruiken. U kunt desgewenst de open-sourcecode van de PEPK-tool downloaden, bekijken en gebruiken.

App-ondertekeningsproces

U kunt APK's die zijn ondertekend met de oorspronkelijke app-ondertekeningssleutel uploaden voor- of nadat u zich heeft aangemeld voor app-ondertekening van Google Play.

Als u Android App Bundles begint te gebruiken, kunt u ze testen in testtracks terwijl u uw bestaande APK in de productiefase gebruikt. Dit proces werkt als volgt:

  1. Onderteken uw app-bundel of APK en upload deze naar uw Play Console.
  2. Het app-ondertekeningsproces verschilt afhankelijk van wat u uploadt:
    • App-bundel: Google genereert geoptimaliseerde APK's uit uw app-bundel en ondertekent ze met de app-ondertekeningssleutel.
    • APK ondertekend met uploadsleutel: Google verifieert en verwijdert uw 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 Google Play

Nieuwe apps

Stap 1: Een uploadsleutel genereren

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

Stap 2: Uw release voorbereiden

  1. Volg de instructies om uw 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 u de releasetrack heeft gekozen.
  3. Selecteer Doorgaan om de gegenereerde sleutel in te stellen als de uploadsleutel voor het ondertekenen van toekomstige releases. Selecteer Geavanceerde opties om onder andere de volgende opties kiezen:
    • Dezelfde sleutel gebruiken als voor een andere app in uw ontwikkelaarsaccount (optie 2).
    • Een bestaande app-ondertekeningssleutel uploaden (opties 2, 3 en 4): Kies de export- en uploadoptie die het beste bij u past. Nadat u de app-ondertekeningssleutel en het bijbehorende openbare certificaat uploadt, kunt u een uploadsleutel maken of de app-ondertekeningssleutel blijven gebruiken als uw uploadsleutel.

Opmerking: U moet de servicevoorwaarden accepteren en u aanmelden voor app-ondertekening om door te gaan.

Stap 3: De app-ondertekeningssleutel registreren bij API-providers

Als uw app gebruikmaakt van een API, moet u meestal het certificaat registreren voor de sleutel waarmee Google uw app ondertekent met behulp van de vingerafdruk van het certificaat. Dit is nodig voor verificatiedoeleinden. U kunt het certificaat als volgt vinden:

  1. Log in bij de Play Console.
  2. Selecteer een app.
  3. Selecteer in het linkermenu Releasebeheer > App-ondertekening.
  4. Kopieer de vingerafdrukken (MD5, SHA-1 en SHA-256) van uw app-ondertekeningscertificaat.
    • Als de API-provider een ander type vingerafdruk vereist, kunt u ook het oorspronkelijke certificaat downloaden in .der-indeling en dit vervolgens converteren met de transformatietools die de API-provider aanlevert.
Bestaande apps

Stap 1: Inschrijven voor app-ondertekening van Google Play

  1. Log in bij de Play Console.
  2. Selecteer een app.
  3. Selecteer in het linkermenu Releasebeheer > App-ondertekening.
  4. Lees de servicevoorwaarden en selecteer Accepteren, als u dit nog niet heeft gedaan.

Stap 2: Uw oorspronkelijke sleutel naar Google sturen en een uploadsleutel genereren

  1. Zoek uw oorspronkelijke app-ondertekeningssleutel.
  2. Log in bij de Play Console.
  3. Selecteer een app.
  4. Selecteer in het linkermenu Releasebeheer > App-ondertekening.
  5. Selecteer de export- en uploadoptie die het beste bij uw releaseproces past en upload een bestaande app-ondertekeningssleutel.

Stap 3: Een uploadsleutel maken (optioneel en aanbevolen)

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

Stap 4: Uw volgende app-update ondertekenen met de uploadsleutel

Wanneer u updates voor uw app vrijgeeft, moet u deze ondertekenen met uw uploadsleutel.

  • Als u geen nieuwe uploadsleutel heeft gegenereerd: Blijf uw oorspronkelijke app-ondertekeningssleutel gebruiken om releases te ondertekenen voordat u ze uploadt naar Google Play. Als u uw app-ondertekeningssleutel kwijtraakt, kunt u een nieuwe uploadsleutel genereren en deze bij Google registreren, zodat u uw app kunt blijven updaten.
  • Als u een nieuwe uploadsleutel heeft gegenereerd: Gebruik uw nieuwe uploadsleutel om releases te ondertekenen voordat u ze uploadt naar Google Play. Nadat u ze heeft geüpload, controleert Google of de release is ondertekend met een uploadsleutel om uw identiteit te verifiëren. Als u uw uploadsleutel kwijtraakt, kunt u contact opnemen met support om de sleutel te resetten.

Een uploadsleutel maken en sleutelarchieven updaten

Uit beveiligingsoverwegingen kunt u uw app het beste ondertekenen met een nieuwe uploadsleutel in plaats van uw app-ondertekeningssleutel.

U kunt een uploadsleutel maken wanneer u zich aanmeldt voor app-ondertekening van Google Play. U kunt ook later een uploadsleutel maken via Releasebeheer > App-ondertekening.

U kunt als volgt een uploadsleutel maken:

  1. Volg de instructies op de site voor Android-ontwikkelaars. Bewaar uw 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 wanneer u tijdens het releaseproces hierom wordt gevraagd.

Wanneer u een uploadsleutel gebruikt:

  • Uw uploadsleutel wordt alleen geregistreerd bij Google om de identiteit van de maker van de app te verifiëren.
  • Uw ondertekening wordt verwijderd uit geüploade APK's voordat deze naar gebruikers worden verzonden.
Beperkingen voor de uploadsleutel
  • Moet een RSA-sleutel van 2048 bits of meer zijn.
  • DSA-sleutels, EC-sleutels of RSA-sleutels van minder dan 2048 bits worden niet ondersteund.
Sleutelarchieven updaten

Nadat u een uploadsleutel heeft 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

Uw app-ondertekeningssleutel upgraden voor nieuwe installaties

In sommige gevallen kunt u een upgrade van een app-ondertekeningssleutel aanvragen. Uw nieuwe sleutel wordt gebruikt om nieuwe installaties en app-updates te ondertekenen. Uw verouderde app-ondertekeningssleutel wordt nog steeds gebruikt om updates te ondertekenen voor gebruikers die uw 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 u meerdere apps heeft die dezelfde ondertekeningssleutel gebruiken voor hetzelfde proces, kunt u de sleutelupgrade niet gebruiken voor die apps.

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

  • U heeft een cryptografisch sterkere sleutel nodig.
  • Uw app-ondertekeningssleutel is gecompromitteerd.

Opmerking: Het aanvragen van een upgrade van een app-ondertekeningssleutel in de Play Console is 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 u een sleutelupgrade aanvraagt

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

  • Als u dezelfde app-ondertekeningssleutel voor meerdere apps gebruikt om gegevens/code tussen deze apps te delen, moet u uw apps updaten om zowel uw nieuwe als verouderde app-ondertekeningssleutelcertificaten te herkennen.
  • Als uw app API's gebruikt, moet u de certificaten voor uw nieuwe en verouderde app-ondertekeningssleutel registreren bij API-providers voordat u een update voor uw 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 uw gebruikers updates gedeeld via peer-to-peer ontvangen, kunnen ze alleen updates installeren die zijn ondertekend met dezelfde sleutel als de versie van uw app die ze al hebben geïnstalleerd. Als ze hun app niet kunnen updaten omdat ze een versie van uw 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 in het linkermenu Releasebeheer > App-ondertekening.
  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 u selecteert, moet u mogelijk contact opnemen met het supportteam om uw verzoek te voltooien.
  6. Laat Google een nieuwe app-ondertekeningssleutel genereren (aanbevolen) of upload een sleutel.
    • Nadat u de app-ondertekeningssleutel heeft geüpgraded en als u dezelfde sleutel als app-ondertekeningssleutel en uploadsleutel gebruikte, kunt u de verouderde app-ondertekeningssleutel blijven gebruiken als uploadsleutel of een nieuwe uploadsleutel genereren.

Praktische tips

  • Als u uw app ook buiten Google Play distribueert of van plan bent dit later te doen, kunt u de app-ondertekeningssleutel genereren die u voor elke app-store wilt gebruiken en deze vervolgens uploaden naar Google wanneer u zich aanmeldt voor app-ondertekening van Google Play.
  • Voor de beveiliging van uw account raden we u aan authenticatie in twee stappen in te schakelen voor alle accounts met toegang tot uw Play Console.
  • Nadat u een app-bundel naar een testtrack of de productietrack heeft gepubliceerd, kunt u de app-bundelverkenner bezoeken om een zip-archief te downloaden met alle APK's voor een specifiek apparaat. Deze APK's worden ondertekend met de app-ondertekeningssleutel en u kunt de APK's in het zip-archief op een apparaat installeren met behulp van het opdrachtregelhulpprogramma bundletool.
  • Voor betere beveiliging kunt u een nieuwe uploadsleutel genereren die verschilt van de app-ondertekeningssleutel.
  • Als u de APK wilt testen die is ondertekend met de uploadsleutel, moet u uw uploadsleutel registreren bij een service of API die de ondertekening van uw app gebruikt voor verificatie, zoals de Google Maps API of Facebook-SDK.
  • Als u een Google API gebruikt, kunt u het uploadcertificaat registreren in de Google Cloud Console voor uw app.

Bent u uw uploadsleutel kwijtgeraakt of is deze gecompromitteerd?

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

Nadat ons supportteam de nieuwe uploadsleutel heeft geregistreerd, ontvangt u een e-mail. Vervolgens kunt u uw sleutelarchieven updaten en uw sleutel registreren bij API-providers.

Belangrijk: Als u uw 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?