Opting in Existing Apps to Google Play App Signing

Jomar Tigcal
6 juli, 2020 – 5 min read

App Signing av Google Play har funnits sedan 2017. Med App Signing hanterar Google dina nycklar för appsignering och använder dem för att signera dina APK:er för distribution. Att registrera din app i App Signing är frivilligt. Du kanske har bestämt dig för att hantera signeringen och lagringen av dina nycklar i stället för att ladda upp dem till Google Play.

Nu har du ändrat dig och vill att Google ska hantera dina signeringsnycklar i stället för att göra det personligen. Eller så vill du försöka minska storleken på din app och förenkla lanseringsprocessen med Android App Bundle, men du måste använda App Signing för det. Så hur kan du välja att ansluta dina befintliga appar till App Signing?

Anmälan till App Signing av Google Play

För att anmäla din app till App Signing av Google Play finns det två saker du behöver veta. För det första finns det inget undantag, så se till att du är redo för det. Dessutom kommer du inte att kunna ladda ner dina nycklar för appsignering från Google Play, så om du skulle behöva dem i framtiden ska du förvara dem på ett säkert ställe.

För att registrera din app i App Signing måste du ladda upp din appsigneringsnyckel till Google Play. Öppna din app i Google Play Console och navigera till Release Management > App Signing (Release > Setup > App Signing i den nya Google Play Console). Läs och acceptera användarvillkoren.

Det finns tre alternativ för att exportera och ladda upp din appsigneringsnyckel: från Android Studio, från en Java-keystore och från din nyckel (om du inte använder en Java-keystore).

Exportera och ladda upp en nyckel från Android Studio

Att använda Android Studio är det enklaste sättet att exportera din appsigneringsnyckel. Öppna menyn Build och klicka sedan på Build > Generate Signed Bundle / APK… I dialogrutan Generate Signed Bundle or APK väljer du Android App Bundle och klickar sedan på Next. Välj Exportera krypterad nyckel för registrering av publicerade appar i Google Play App Signing, ange var du vill exportera den och klicka sedan på Nästa. Android Studio genererar paketet och exporterar private_key.pepk i den katalog du angett.

Exportera krypterad nyckel med Android Studio

På sidan för signering av appar i Google Play Console App Signing väljer du “Exportera och ladda upp en nyckel från Android Studio” och laddar upp nyckeln som Android Studio genererat.

Exportera och ladda upp en nyckel från en Java-keystore

Om du använder en Java-keystore för att signera dina appar väljer du “Exportera och ladda upp en nyckel från en Java-keystore” på sidan Signering av appar i Google Play Console. Ladda ner verktyget Play Encrypt Private Key (PEPK) från konsolen och spara det på önskad plats. Notera också krypteringsnyckeln i instruktionerna.

PEPK-verktyget är en JAR-fil som gör att du kan exportera och kryptera din appsigneringsnyckel. Om du till exempel har följande:
* PEPK-verktyget i /Users/admin/Downloads
* app-signeringsnyckeln signering-key.jks som har “release” som alias, som ligger i samma mapp som pepk.jar
* krypterad nyckel från Google Play-konsolen med värdet encryptionkeyfromtheconsole

Du kan exportera nyckeln till encryptedkey.pepk med följande kommando:

java -jar /Users/admin/Downloads/pepk.jar – keystore=signing-key.jks – alias=release – output=/Users/admin/Downloads/encryptedkey.pepk – encryptionkey=encryptionkeyfromtheconsole

Terminalen kommer att be dig om lösenordet för keystore och nyckeln. När du har angett dem kommer kommandot att generera filen encryptedkey.pepk i katalogen /Users/admin/Downloads/. På sidan Google Play Console App Signing väljer du “Export and upload a key from Java keystore” (Exportera och ladda upp en nyckel från Java-keystore) och laddar upp filen encryptedkey.pepk.

Exportera och ladda upp en nyckel (utan Java-keystore)

Om nyckeln för signering av appen inte har skapats med hjälp av en Java-keystore väljer du alternativet “Export and upload a key (not using a Java keystore)” (exportera och ladda upp en nyckel (utan Java-keystore)) på sidan Google Play Console App Signing. Du kan ladda ner PEPK-verktygets källkod och använda den hex-kodade offentliga nyckeln som tillhandahålls i konsolen för att exportera din privata nyckel.

På sidan Google Play Console App Signing väljer du “Export and upload a key (not using Java Keystore)” (Exportera och ladda upp en nyckel (använder inte Java Keystore)) och laddar upp nyckeln som du har exporterat.

Skapa en uppladdningsnyckel

En uppladdningsnyckel är den nyckel som du kommer att använda för att signera ditt app-paket eller din APK innan du publicerar den på Google Play. Du kan använda samma signeringsnyckel som uppladdningsnyckeln så att din process blir densamma som tidigare. Det är dock bättre att använda en annan uppladdningsnyckel så att appens signeringsnyckel inte äventyras.

För att skapa en uppladdningsnyckel för din app måste du skapa en ny signeringsnyckel och ladda upp dess offentliga certifikat (i PEM-format). Du kan skapa en ny nyckel i Android Studio. I menyn Build klickar du på Build > Generate Signed Bundle / APK… I dialogrutan Generate Signed Bundle or APK väljer du antingen Android App Bundle eller APK och klickar sedan på Next. Klicka på knappen Create new… (Skapa ny…) under inmatningstexten Key store path (Sökväg för nyckelarkiv). Ange informationen i dialogrutan Nytt nyckelarkiv och klicka sedan på OK.

Generering av nytt nyckelarkiv från Android Studio

Den nya uppladdningsnyckeln är till exempel uppladdningsnyckel.jks med “alias” som alias, kan du exportera dess nyckel till upload-cert.pem genom att köra följande kommando:

keytool -export -rfc -keystore upload-key.jks -alias alias -file upload-cert.pem

Terminalen kommer att be dig om lösenordet till keystore. När du har angett det kommer kommandot att generera filen upload-cert.pem. Du kan sedan ladda upp den här PEM-filen i Google Play Console. Nu måste du signera nästa appuppdateringar med uppladdningsnyckeln upload-key.jks.

Vad händer härnäst?

När du har laddat upp appsigneringsnyckeln (och skapat en ny uppladdningsnyckel) kan du klicka på knappen Slutför (Spara i den nya Google Play Console) för att spara ändringarna. Du kommer att se ett meddelande om att appsignering nu är aktiverad för appen. Du kan nu använda Android App Bundle när du publicerar din nästa uppdatering.

Sidan App Signing visar också certifikaten för appens signeringsnyckel och uppladdningsnyckel, tillsammans med deras nyckelsignaturer (MD5, SHA-1, SHA-256), som du kommer att behöva använda för vissa API:er.

Lämna ett svar

Din e-postadress kommer inte publiceras.