Pourquoi utiliser le service Signature d'application Play ? En plus de vous protéger contre la perte définitive ou le piratage de vos clés, l'inscription au service Signature d'application Play vous permet de bénéficier d'améliorations pour vos Android App Bundles (.aab). En laissant Google signer les APK de distribution optimisés générés à partir de vos app bundles, vous avez accès à des services intéressants comme la protection automatique et la traduction automatique des chaînes à l'aide des modèles Gemini. Les jeux ont accès à des services automatiques supplémentaires tels que Play Games Sidekick, la fonctionnalité Jouer pendant le téléchargement et les essais sans frais pour les titres payants.
Pour configurer la signature d'application Play, vous devez être le titulaire du compte.
Concepts fondamentaux
Lorsque vous utilisez le service Signature d'application Play, vous devez gérer deux clés distinctes. Il est essentiel de comprendre la différence entre ces deux types de clés et leurs formats techniques afin d'éviter les problèmes d'authentification avec les API tierces.
| Type de clé | Titulaire | Détails techniques et objectif |
|
Clé d'importation |
Vous (veillez à la conserver en lieu sûr) |
|
| Clé de signature d'application |
Google Play |
|
| Prête pour l'informatique quantique | Google Play |
|
Remarque : Pour une sécurité maximale, votre clé d'importation et votre clé de signature d'application doivent être différentes.
Comment Google signe votre application : lorsque Google génère et signe vos APK avec la clé de signature d'application, il utilise apksigner pour ajouter deux identifiants au fichier manifeste de votre application (com.android.stamp.source et com.android.stamp.type). Ces identifiants garantissent que vos APK peuvent être retracés de manière sécurisée jusqu'au signataire d'origine.
Configurer la signature d'application Play
La procédure de configuration dépend de si vous publiez une nouvelle application ou migrez une application existante.
Pour les nouvelles applications
- Créez une application : votre application sera automatiquement inscrite à la signature hybride prête pour l'informatique quantique à l'aide de clés générées par Google. Nous générons également une clé classique distincte à utiliser dans les blocs de signature reconnus sur les appareils dotés d'Android 16 et versions antérieures.
- Créez une clé d'importation : générez un keystore pour signer l'app bundle de votre version. Vous pouvez le générer dans Android Studio ou utiliser l'utilitaire Java keytool à partir de la ligne de commande.
- Importez votre app bundle : accédez à la Play Console et préparez une nouvelle version. Par défaut, lorsque vous importez votre app bundle, votre application est automatiquement inscrite à la signature hybride prête pour l'informatique quantique avec des clés générées par Google.
- Modifiez votre clé de signature d'application (facultatif) : les développeurs expérimentés qui souhaitent gérer leur propre clé peuvent modifier ce paramètre par défaut avant le déploiement d'une version sur le canal de test ouvert ou le canal de production. Pour ce faire, accédez à Protégé avec Play > Distribution sur le Play Store > Accéder à la signature d'application Play, puis cliquez sur Modifier la clé de signature d'application. Vous pouvez ensuite choisir l'une des options suivantes :
- Utiliser la même clé qu'une autre application dans ce compte de développeur
- Fournir une copie de votre clé de signature d'application (en suivant les instructions)
Pour les applications existantes
Si vous gérez actuellement vos propres clés et importez des APK, vous pouvez passer à la signature d'application Play pour profiter des app bundles et des améliorations Play.
- Accédez à Protégé avec Play > Distribution sur le Play Store > Accéder à la signature d'application Play dans la Play Console.
- Acceptez les Conditions d'utilisation, si vous ne l'avez pas déjà fait.
- Transférez une copie de votre clé d'origine : téléchargez l'outil PEPK et suivez les instructions détaillées unifiées pour chiffrer et importer votre clé de signature d'application existante depuis n'importe quel dépôt.
S'enregistrer auprès des fournisseurs d'API
Si votre application utilise des API (comme Google Maps, OAuth ou Facebook Login), ces services authentifient votre application à l'aide de l'empreinte de la clé de signature de votre application.
Étant donné que Google signe l'APK final, vous devez enregistrer l'empreinte de la clé de signature d'application détenue par Google auprès de vos fournisseurs d'API, et pas seulement votre clé d'importation locale.
- Accédez à Protégé avec Play > Distribution sur le Play Store > Accéder à la signature d'application Play.
- Faites défiler la page jusqu'à la section Clé de signature d'applications.
- Copiez les empreintes requises (SHA-1 ou SHA-256). Si votre application utilise la signature hybride prête pour l'informatique quantique, vous devez copier les empreintes de trois clés et enregistrer chacune d'entre elles auprès de vos fournisseurs d'API : votre nouvelle clé classique et votre nouvelle clé PQC utilisées sur les appareils récents, et votre clé classique utilisée sur les appareils plus anciens.
- Collez ces empreintes dans la console de votre fournisseur d'API (par exemple, la console Google Cloud).
Conseil : Mettez à jour votre fichier assetlinks.json avec ces empreintes si vous utilisez Android App Links.
Gérer vos clés
Mettre à niveau votre clé de signature d'application
Si votre clé de signature d'application est compromise ou si vous avez besoin d'une clé avec un chiffrement renforcé, vous pouvez demander une mise à niveau annuelle pour toutes les installations sur Android 17 (niveau d'API 37) et versions ultérieures.
Comportement selon les versions d'Android :
- Android 17 (niveau d'API 37) et versions ultérieures : la plate-forme Android impose strictement l'utilisation de votre clé hybride prête pour l'informatique quantique. Consultez Schéma de signature des APK v3.2.
- Android 13 (niveau d'API 33) à Android 16 (niveau d'API 36) : la plate-forme Android impose strictement l'utilisation de votre clé classique la plus récente. Consultez Schéma de signature des APK v3.1.
- Android 7 (niveau d'API 24) à Android 12 (niveau d'API 32) : la plate-forme Android elle-même n'impose pas la clé mise à niveau et reconnaît toujours la clé classique la plus récente. Toutefois, Google Play Protect fournit une validation supplémentaire en vérifiant que les mises à jour de l'application sont signées avec votre dernière clé classique (sauf si l'utilisateur désactive cette vérification).
Remarque importante :
- Données partagées : étant donné que la plate-forme n'impose pas la clé mise à niveau sur Android S (niveau d'API 32) et versions antérieures, si vous utilisez la même clé dans plusieurs applications pour partager des données, ces anciennes versions d'Android ne reconnaîtront que l'ancienne clé pour des fonctionnalités telles que le partage d'autorisations personnalisées.
Comment mettre à niveau :
- Accédez à Protégé avec Play > Distribution sur le Play Store > Accéder à la signature d'application Play.
- Dans la section "Clé de signature d'applications", cliquez sur Mettre à jour la clé.
- Choisissez une option :
- Autoriser Google Play à générer une nouvelle clé de signature d'applications (recommandé)
- Utiliser la même clé de signature d'applications qu'une autre application de ce compte de développeur
- Fournir une copie de votre clé de signature d'application (en suivant les instructions)
- Cliquez sur Enregistrer.
- Enregistrez les nouvelles empreintes de clé auprès de vos fournisseurs d'API. Si votre application utilise la signature hybride prête pour l'informatique quantique, vous devez enregistrer les empreintes de deux nouvelles clés : votre nouvelle clé classique et votre nouvelle clé PQC.
Demander la réinitialisation d'une clé d'importation
Si vous perdez votre clé d'importation ou si vous pensez qu'elle a été piratée, vous pourrez tout de même accéder à votre application.
- Créez une clé d'importation dans Android Studio.
- Exportez le certificat au format PEM :
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Pour obtenir de l'aide concernant les chemins d'accès à keytool et au keystore, consultez le guide pour la signature d'applications Android Studio.) - Une fois votre fichier PEM généré, envoyez la demande de réinitialisation dans la Play Console.
- Accédez à Protégé avec Play > Protection Play Store > Gérer la signature d'application Play.
- Dans la section Certificat de clé d'importation, cliquez sur Demander la réinitialisation de la clé d'importation.
- Indiquez le motif de la réinitialisation.
- Importez votre fichier
upload_certificate.pem, puis cliquez sur Envoyer une demande.
Bonnes pratiques et distribution alternative
- Sécurité : protégez votre accès à la Play Console en appliquant la validation en deux étapes pour tous les utilisateurs.
- Améliorations des app bundles : l'inscription au service Signature d'application Play vous permet d'accéder à des améliorations pour vos app bundles. Pour appliquer des améliorations, commencez par apporter les modifications de configuration nécessaires lorsque vous créez une version, puis importez un nouvel app bundle.
- Distribution en dehors de Google Play : si vous distribuez votre application sur d'autres magasins d'applications et que vous souhaitez utiliser la même clé de signature partout, deux options s'offrent à vous : [1] Vous pouvez laisser Google générer votre clé de signature d'application et télécharger un APK universel signé depuis la Play Console ou l'API Play Developer pour le distribuer ailleurs (dans la Play Console, accédez à Tester et publier > Versions et bundles les plus récents, sélectionnez votre app bundle, puis cliquez sur l'onglet Téléchargements). [2] Vous pouvez également générer la clé de signature d'application que vous souhaitez utiliser pour tous les magasins d'applications, puis en transférer une copie à Google lorsque vous configurez la signature d'application Play. En savoir plus sur le fonctionnement des mises à jour d'applications et les options permettant d'activer ou de désactiver les mises à jour entre plusieurs magasins
- Tests : utilisez le partage interne d'application pour tester exactement ce que Google Play fournira aux utilisateurs, ou téléchargez des APK spécifiques à un appareil depuis l'explorateur d'app bundle et installez-les localement à l'aide de la commande adb install-multiple *.apk.
- Schéma de signature d'APK v4 : le service Signature d'application Play utilise automatiquement la signature v4 pour les applications éligibles afin de permettre une distribution optimisée sur les appareils dotés d'Android 11 et versions ultérieures. Aucune action n'est requise de votre part. Cela exclut toutes les applications utilisant la signature hybride prête pour l'informatique quantique, qui n'est pas encore compatible avec la signature v4. Pour en savoir plus sur les avantages techniques, consultez la documentation sur le schéma de signature d'APK v4.
Projets Google Cloud auto-hébergés
Si vous avez des exigences de sécurité très spécifiques (par exemple, l'utilisation de clés OEM), vous pouvez utiliser l'API Play Developer pour vous inscrire au service Signature d'application Play à l'aide d'un projet Google Cloud auto-hébergé.
Il s'agit d'une configuration non standard qui n'est pas recommandée. Si vous utilisez un projet auto-hébergé, vous assumez l'entière responsabilité des opérations de signature d'application.
- Ce faisant, Google Play ne peut pas prendre en charge certaines fonctionnalités essentielles, comme la reprise après sinistre.
- Google ne peut pas regénérer ni corriger une version existante. Pour corriger les erreurs liées à une version, vous devez en importer une nouvelle.
- Il est possible que les optimisations avancées, certaines améliorations Play et les fonctionnalités de sécurité telles que la signature hybride prête pour l'informatique quantique ne soient pas disponibles dans cette configuration.
- Générez ou importez vos clés de signature dans Cloud KMS, en veillant à ce que l'emplacement soit configuré sur États-Unis (multirégional), puis suivez la documentation sur l'importation de clés KMS.
- Pour modifier votre clé de signature, utilisez la méthode enrollApp. Les clés de signature ne peuvent être modifiées qu'avant la publication de l'application sur les canaux de test ouvert ou de production.
- Pour mettre à niveau votre clé de signature après la publication, utilisez la méthode rotateAppSigningKey.
- Attribuez les rôles IAM suivants au client ou au compte de service qui s'authentifie auprès de l'API Google Play Developer :
- Assurez-vous de disposer d'un quota suffisant pour effectuer des opérations de chiffrement. En particulier, nous vous recommandons d'augmenter le quota pour asymmetric_requests à au moins 350 RPS.
- Pour voir comment les clés de signature sont utilisées, activez le journal d'audit dans votre projet Cloud KMS.