Opting in Existing Apps to Google Play App Signing

Jomar Tigcal
Jul 6, 2020 – 5 min read

App Signing di Google Play esiste dal 2017. Con App Signing, Google gestisce le chiavi di firma delle tue app e le usa per firmare i tuoi APK per la distribuzione. Iscrivere la tua app ad App Signing è facoltativo. Potresti aver deciso di gestire la firma e la conservazione delle tue chiavi invece di caricarle su Google Play.

Ora, hai cambiato idea e vuoi che Google gestisca le tue chiavi di firma invece di farlo personalmente. Oppure vuoi provare a ridurre le dimensioni della tua app e semplificare il processo di rilascio con Android App Bundle, ma ti viene richiesto di utilizzare App Signing per questo. Quindi, come puoi iscrivere le tue app esistenti ad App Signing?

Opting in to app signing by Google Play

Prima di iscrivere la tua app ad App Signing by Google Play, ci sono due cose che devi sapere. In primo luogo, non c’è nessun opt out, quindi assicurati di essere pronto per questo. Inoltre, non sarete in grado di scaricare le chiavi di firma delle vostre app da Google Play, quindi se ne avrete bisogno in futuro, conservatele da qualche parte al sicuro.

Per iscrivere la vostra app ad App Signing, è necessario caricare la chiave di firma dell’app su Google Play. Apri la tua app nella Google Play Console e vai a Release Management > App Signing (Release > Setup > App Signing in New Google Play Console). Leggi e accetta i Termini di servizio.

Ci sono tre opzioni per esportare e caricare la chiave di firma della tua app: da Android Studio, da un keystore Java e dalla tua chiave (se non stai usando un keystore Java).

Esporta e carica una chiave da Android Studio

Usare Android Studio è il modo più semplice per esportare la chiave di firma della tua app. Apri il menu Build, poi clicca su Build > Generate Signed Bundle / APK… Nella finestra di dialogo Generate Signed Bundle or APK, seleziona Android App Bundle e clicca su Next. Seleziona Export encrypted key for enrolling published apps in Google Play App Signing, imposta la posizione in cui vuoi esportarla, quindi fai clic su Next. Android Studio genererà il bundle ed esporterà il private_key.pepk nella directory che hai fornito.

Esporta chiave crittografata con Android Studio

Nella pagina Google Play Console App Signing, seleziona “Esporta e carica una chiave da Android Studio” e carica la chiave generata da Android Studio.

Esporta e carica una chiave da un keystore Java

Se stai usando un keystore Java per firmare le tue app, seleziona “Esporta e carica una chiave da un keystore Java” nella pagina di Google Play Console App Signing. Scarica lo strumento Play Encrypt Private Key (PEPK) dalla console e salvalo nella tua posizione preferita. Inoltre, prendi nota della chiave di crittografia nelle istruzioni.

Lo strumento PEPK è un file JAR che ti permette di esportare e crittografare la chiave di firma della tua app. Per esempio, se hai quanto segue:
* lo strumento PEPK in /Users/admin/Downloads
* app signing key signing-key.jks che ha “release” come alias, situato nella stessa cartella del pepk.jar
* chiave criptata dalla console di Google Play con il valore encryptionkeyfromtheconsole

puoi esportare la chiave in encryptedkey.pepk usando il seguente comando:

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

Il terminale ti chiederà il keystore e la password della chiave. Una volta inseriti, il comando genererà il file encryptedkey.pepk nella directory /Users/admin/Downloads/. Nella pagina di Google Play Console App Signing, seleziona “Export and upload a key from Java keystore” e carica il file encryptedkey.pepk.

Export and upload a key (not using a Java keystore)

Se la chiave di firma della tua app non è stata creata usando un keystore Java, seleziona l’opzione “Export and upload a key (not using a Java keystore)” nella pagina Google Play Console App Signing. Puoi scaricare il codice sorgente dello strumento PEPK e usare la chiave pubblica codificata in esadecimale fornita nella console per esportare la tua chiave privata.

Nella pagina di firma delle app della Google Play Console, seleziona “Esporta e carica una chiave (non usando Java Keystore)” e carica la chiave che hai esportato.

Creazione di una chiave di caricamento

Una chiave di caricamento è la chiave che userai per firmare il tuo bundle di app o APK prima di pubblicarlo su Google Play. Puoi usare la stessa chiave di firma della chiave di caricamento, così il tuo processo sarà lo stesso di quello che stavi facendo prima. Tuttavia, è meglio usare una chiave di caricamento diversa in modo che la chiave di firma dell’app non venga compromessa.

Per creare una chiave di caricamento per la tua app, devi creare una nuova chiave di firma e caricare il suo certificato pubblico (in formato PEM). Puoi creare una nuova chiave in Android Studio. Nel menu Build, clicca su Build > Generate Signed Bundle / APK… Nella finestra di dialogo Generate Signed Bundle or APK, seleziona Android App Bundle o APK, quindi clicca su Next. Fai clic sul pulsante Create new… sotto il testo di input Key store path. Fornisci le informazioni nella finestra di dialogo New Key Store e poi fai clic su OK.

Generazione del nuovo Key Store da Android Studio

Diciamo che la tua nuova chiave di caricamento è upload-key.jks con “alias” come alias, puoi esportare la sua chiave in upload-cert.pem eseguendo il seguente comando:

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

Il terminale ti chiederà la password del keystore. Una volta fornita con successo, il comando genererà il file upload-cert.pem. È quindi possibile caricare questo file PEM nella Google Play Console. Ora, devi firmare i prossimi aggiornamenti dell’app con la chiave di caricamento upload-key.jks.

Che cosa c’è dopo?

Una volta che hai caricato la chiave di firma dell’app (e creato una nuova chiave di caricamento), puoi cliccare il pulsante Finish (Save in the New Google Play Console) per salvare le modifiche. Vedrai una notifica che App Signing è ora abilitato per l’app. Ora puoi usare Android App Bundle per pubblicare il tuo prossimo aggiornamento.

La pagina App Signing mostrerà anche i certificati per la chiave di firma dell’app e la chiave di caricamento, insieme alle loro firme chiave (MD5, SHA-1, SHA-256), che dovrai usare per alcune API.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.