Opting in Existing Apps to Google Play App Signing

Jomar Tigcal
6 juil, 2020 – 5 min lu

L’App Signing par Google Play existe depuis 2017. Avec App Signing, Google gère les clés de signature de votre application et les utilise pour signer vos APK en vue de leur distribution. L’inscription de votre application à App Signing est facultative. Vous avez peut-être décidé de gérer la signature et le stockage de vos clés au lieu de les télécharger sur Google Play.

Maintenant, vous avez changé d’avis et souhaitez que Google gère vos clés de signature au lieu de le faire personnellement. Ou vous voulez essayer de réduire la taille de votre application et simplifier le processus de publication avec Android App Bundle, mais vous êtes tenu d’utiliser App Signing pour cela. Alors comment pouvez-vous inscrire vos applications existantes à App Signing ?

Opting in to app signing by Google Play

Avant d’inscrire votre application à App Signing par Google Play, il y a deux choses que vous devez savoir. Tout d’abord, il n’y a pas d’opt out, donc assurez-vous d’être prêt pour cela. De plus, vous ne pourrez pas télécharger vos clés de signature d’application depuis Google Play, donc si vous en aviez besoin à l’avenir, stockez-les dans un endroit sûr.

Pour inscrire votre application à App Signing, vous devez télécharger votre clé de signature d’application sur Google Play. Ouvrez votre application dans la console Google Play et accédez à la gestion des versions > App Signing (Release > Setup > App Signing in the New Google Play Console). Lisez et acceptez les conditions de service.

Il existe trois options pour exporter et télécharger votre clé de signature d’application : à partir d’Android Studio, d’un keystore Java et de votre clé (si vous n’utilisez pas de keystore Java).

Exporter et télécharger une clé à partir d’Android Studio

L’utilisation d’Android Studio est le moyen le plus simple d’exporter votre clé de signature d’application. Ouvrez le menu Build, puis cliquez sur Build > Generate Signed Bundle / APK… Dans la boîte de dialogue Generate Signed Bundle ou APK, sélectionnez Android App Bundle puis cliquez sur Next. Sélectionnez Exporter la clé cryptée pour inscrire les applications publiées dans Google Play App Signing, définissez l’emplacement où vous souhaitez l’exporter, puis cliquez sur Suivant. Android Studio générera le bundle et exportera le private_key.pepk dans le répertoire que vous avez fourni.

Exporter la clé cryptée avec Android Studio

Dans la page Google Play Console App Signing, sélectionnez “Exporter et télécharger une clé à partir d’Android Studio” et téléchargez la clé générée par Android Studio.

Exporter et télécharger une clé à partir d’un keystore Java

Si vous utilisez un keystore Java pour signer vos applications, sélectionnez l’option “Exporter et télécharger une clé à partir d’un keystore Java” dans la page de signature d’applications de la Google Play Console. Téléchargez l’outil Play Encrypt Private Key (PEPK) depuis la console et enregistrez-le à l’endroit de votre choix. Prenez également note de la clé de chiffrement dans les instructions.

L’outil PEPK est un fichier JAR qui vous permet d’exporter et de chiffrer la clé de signature de votre application. Par exemple, si vous avez ce qui suit :
* l’outil PEPK dans /Users/admin/Downloads
* app signing key signing-key.jks qui a “release” comme alias, situé dans le même dossier que le pepk.jar
* clé cryptée de la console Google Play avec la valeur encryptionkeyfromtheconsole

vous pouvez exporter la clé vers encryptedkey.pepk en utilisant la commande suivante :

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

Le terminal vous demandera le keystore et le mot de passe de la clé. Une fois que vous les aurez saisis, la commande générera le fichier encryptedkey.pepk dans le répertoire /Users/admin/Downloads/. Dans la page de signature d’applications de la console Google Play, sélectionnez “Exporter et télécharger une clé à partir du keystore Java” et téléchargez le fichier encryptedkey.pepk.

Exporter et télécharger une clé (n’utilisant pas un keystore Java)

Si la clé de signature de votre application n’a pas été réalisée à l’aide d’un keystore Java, sélectionnez l’option “Exporter et télécharger une clé (n’utilisant pas un keystore Java)” dans la page de signature d’applications de la console Google Play. Vous pouvez télécharger le code source de l’outil PEPK et utiliser la clé publique codée en hexadécimal fournie dans la console pour exporter votre clé privée.

Dans la page App Signing de la console Google Play, sélectionnez “Exporter et télécharger une clé (n’utilisant pas un keystore Java)” et téléchargez la clé que vous avez exportée.

Création d’une clé de téléchargement

Une clé de téléchargement est la clé que vous utiliserez pour signer votre bundle d’applications ou APK avant de le publier sur Google Play. Vous pouvez utiliser la même clé de signature que la clé de téléchargement afin que votre processus soit le même que celui que vous faisiez auparavant. Cependant, il est préférable d’utiliser une clé de téléchargement différente afin que la clé de signature de l’app ne soit pas compromise.

Pour créer une clé de téléchargement pour votre app, vous devez créer une nouvelle clé de signature et télécharger son certificat public (au format PEM). Vous pouvez créer une nouvelle clé dans Android Studio. Dans le menu Build, cliquez sur Build > Generate Signed Bundle / APK… Dans la boîte de dialogue Generate Signed Bundle or APK, sélectionnez soit Android App Bundle soit APK, puis cliquez sur Next. Cliquez sur le bouton Create new… (Créer un nouveau) sous le texte de saisie Key store path (Chemin d’accès au magasin de clés). Fournissez les informations dans la boîte de dialogue Nouveau magasin de clés puis cliquez sur OK.

Générer un nouveau magasin de clés depuis Android Studio

Disons que votre nouvelle clé de téléchargement est upload-key.jks avec “alias” comme alias, vous pouvez exporter sa clé vers upload-cert.pem en exécutant la commande suivante:

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

Le terminal vous demandera le mot de passe du keystore. Une fois que vous l’aurez fourni avec succès, la commande générera le fichier upload-cert.pem. Vous pouvez ensuite télécharger ce fichier PEM dans la console Google Play. Maintenant, vous devez signer les prochaines mises à jour de l’application avec la clé de téléchargement upload-key.jks.

Qu’est-ce qui se passe ensuite?

Une fois que vous avez téléchargé la clé de signature de l’application (et créé une nouvelle clé de téléchargement), vous pouvez cliquer sur le bouton Finish (Save in the New Google Play Console) pour enregistrer les modifications. Vous verrez une notification indiquant que la signature d’application est maintenant activée pour l’application. Vous pouvez maintenant utiliser Android App Bundle lors de la publication de votre prochaine mise à jour.

La page App Signing affichera également les certificats de la clé de signature de l’application et de la clé de téléchargement, ainsi que leurs signatures de clé (MD5, SHA-1, SHA-256), que vous devrez utiliser pour certaines API.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.