Sauter au contenu principal

Signature Android

Générateur de clés Android

Générez une clé Android en ligne en quelques secondes, sans Android Studio ou keytool. Obtenez une clé de libération PKCS#12, le certificat PEM et les empreintes numériques SHA-1 et SHA-256, prêts pour Gradle, Capacitor, fastlane, CI et Google Play.

Conteneur

PKCS#12

Clé

RSA 2048, SHA-256

Fingerprints

SHA-1 et SHA-256

Liste de vérification de la mise en production

  1. 1. Choisissez l'alias et le mot de passe qui accompagneront cette application tout au long du temps.
  2. 2. Téléchargez le coffre-fort et enregistrez les métadonnées dans votre gestionnaire de secrets.
  3. 3. Configurez le même alias et le mot de passe dans Gradle ou votre environnement CI.
  4. 4. Conservez la clé d'upload stable pour éviter les problèmes de futurs lancements sur Play.

Entrée

Détails du clé de stockage

Remplissez les informations de sujet qui devraient être intégrées dans le certificat de signature et choisissez un alias stable.

Sortie

Bundle de signature Android généré

Après génération, vous obtiendrez un fichier de clé de magasin téléchargeable, ainsi que l'export de certificat et les empreintes nécessaires pour la configuration de magasin ou les intégrations OAuth.

Générez le bundle de signature pour afficher l'alias, les empreintes et les téléchargements de fichiers ici.

Bases

Qu'est-ce qu'une clé de stockage Android ?

Une clé de stockage Android est un fichier protégé par mot de passe qui contient la clé privée et le certificat utilisés pour signer votre application. Chaque APK et Android App Bundle doit être signé avant qu'il ne puisse être installé ou publié, et Android n'accepte une mise à jour que lorsque celle-ci est signée avec la même clé que la version déjà installée.

Cela fait de la clé de stockage l'un des fichiers les plus importants de votre projet. Avec Play App Signing, elle agit comme votre clé d'envoi, que Google vérifie avant de ré-signer votre application. Sans Play App Signing, c'est la clé de signature de l'application elle-même, et la perdre signifie que vous ne pouvez plus mettre à jour l'application.

Ce générateur crée un coffre PKCS#12 (.p12) avec une clé RSA de 2048 bits et un certificat SHA-256, le même résultat que keytool et l'assistant de signature Android Studio, avec une validité par défaut de 25 ans qui répond aux exigences de Google Play.

La sécurité et la vie privée

Comment votre clé de coffre est générée

  • Le keystore est créé sur demande par un endpoint étatique Capgo via HTTPS et renvoyé directement à votre navigateur sous forme de téléchargement.
  • Les réponses sont envoyées avec Cache-Control: no-storeLa clé privée, le mot de passe et les fichiers ne sont jamais sauvegardés dans une base de données ou conservés après la réponse.
  • Le coffre-fort est protégé par votre mot de passe en utilisant l'encodage AES-256 à l'intérieur du conteneur PKCS#12.
  • Aucun compte ou inscription n'est requis, et les requêtes sont limitées pour prévenir tout abus.

Besoin d'une clé qui ne quitte jamais votre machine ? Exécutez l'équivalent keytool commande localement. Elle produit le même type de clé de coffre.

Commande équivalente keytool
keytool -genkeypair -v \
  -storetype PKCS12 \
  -keystore release.p12 \
  -alias release \
  -keyalg RSA -keysize 2048 \
  -validity 9125 \
  -dname "CN=Jane Doe, O=Acme Mobile, C=DE"

Étape par étape

How to generate an Android keystore en ligne

De la forme vide à une mise en ligne signée sur Google Play en six étapes. Les trois premières prennent moins d'une minute.

  1. Étape 1

    Entrez les détails du certificat

    Ajoutez votre nom complet, votre adresse e-mail et votre code pays à deux lettres code. L'organisation, l'unité, la ville et l'état sont facultatifs et ne figurent que dans le sujet du certificat.

  2. Étape 2

    Choisissez un alias, une validité et un mot de passe

    Sélectionnez un alias simple comme release ou upload, maintenez la validité de 25 ans et définissez un mot de passe fort d'au moins 8 caractères. Notez les trois avant de continuer.

  3. Étape 3

    Générez et téléchargez le keystore

    Sélectionnez Générer le keystore, puis téléchargez le fichier .p12 keystore et le certificat PEM. Copiez les empreintes SHA-1 et SHA-256 du panneau de résultats.

  4. Étape 4

    Back up the keystore and credentials

    Enregistrez le fichier de clé, l'alias et le mot de passe ensemble dans un gestionnaire de mots de passe ou un gestionnaire de secrets. N'ajoutez jamais la clé à Git.

  5. Étape 5

    Configurez la signature dans votre build

    Pointez Gradle, le Capacitor CLI, fastlane ou Capgo Cloud Build sur la clé de stockage avec l'alias et le mot de passe, puis construisez une version signée AAB ou APK.

  6. Étape 6

    Envoyez l'application signée sur Google Play

    Envoyez le paquet Android signé dans le console Play. Avec Play App Signing, cette clé de stockage devient votre clé d'envoi et Google gère la clé de signature finale de l'application.

Utilisez le résultat

Signez votre application Android avec la clé de stockage générée

Remplacez l'alias et le mot de passe par les valeurs que vous avez saisies ci-dessus. Puisque la clé de stockage est PKCS#12, le mot de passe de la clé est le même que le mot de passe de stockage.

Configuration de signature Gradle

Fonctionne pour Capacitor, Ionic, React Native, Flutter et les projets natifs. Conservez vos mots de passe dans gradle.properties ou les variables d'environnement.

android/app/build.gradle
// android/app/build.gradle
android {
    signingConfigs {
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_STORE_PASSWORD
            storeType "pkcs12"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

# ~/.gradle/gradle.properties (keep out of Git)
RELEASE_STORE_FILE=/path/to/release.p12
RELEASE_STORE_PASSWORD=your-password
RELEASE_KEY_ALIAS=release

Capacitor CLI

Créez un bundle signé Android App pour une application Capacitor en une seule commande.

Capacitor build signé
bunx cap build android \
  --keystorepath ./release.p12 \
  --keystorepass "your-password" \
  --keystorealias release \
  --keystorealiaspass "your-password" \
  --androidreleasetype AAB

Capgo Build Cloud

Enregistrez le keystore une fois et laissez Capgo Build Cloud signer et télécharger chaque version.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform android \
  --keystore ./release.p12 \
  --keystore-alias release \
  --keystore-key-password "your-password" \
  --keystore-store-password "your-password"

fastlane

Injectez les propriétés de signature dans l'action Gradle à partir de secrets CI.

Fastfile
gradle(
  task: "bundle",
  build_type: "Release",
  properties: {
    "android.injected.signing.store.file" => ENV["RELEASE_STORE_FILE"],
    "android.injected.signing.store.password" => ENV["RELEASE_STORE_PASSWORD"],
    "android.injected.signing.key.alias" => ENV["RELEASE_KEY_ALIAS"],
    "android.injected.signing.key.password" => ENV["RELEASE_STORE_PASSWORD"],
  }
)

Vérifiez, convertissez et stockez dans CI

Vérifiez l'alias et les empreintes digitales, convertissez le fichier en JKS pour les outils legacy ou encodez-le pour un secret CI.

keytool et base64
# Inspect the keystore, alias, and fingerprints
keytool -list -v -keystore release.p12 -storetype PKCS12

# Convert to JKS if an older tool requires it
keytool -importkeystore \
  -srckeystore release.p12 -srcstoretype PKCS12 \
  -destkeystore release.jks -deststoretype JKS

# Base64-encode the keystore for a CI secret
base64 -i release.p12 | tr -d '\n' > release.p12.base64

Troubleshooting

Erreurs et corrections courantes de clés de stockage Android

Le jeton de clé a été modifié ou le mot de passe est incorrect.
Le mot de passe du magasin est incorrect. Copiez-l’à nouveau depuis votre gestionnaire de mots de passe et vérifiez les espaces en fin de ligne dans les secrets CI.
Aucune clé avec l'alias « release » n'a été trouvée dans la clé de stockage
L'alias ne correspond pas. Exécutez keytool -list sur la clé de stockage pour voir l'alias exact, qui est sensible à la casse.
Le bloc final n'est pas correctement aligné.
Le mot de passe de la clé est incorrect. Pour les clés PKCS#12, le mot de passe de la clé doit être identique au mot de passe du magasin.
Format de cléstocker invalide
Un outil de chaîne de compilation Java 8 plus ancien lit un fichier PKCS#12 comme JKS. Définissez la propriété storeType "pkcs12" dans Gradle ou convertissez le fichier en JKS avec keytool -importkeystore.
Votre bundle d'application Android est signé avec la mauvaise clé
Google Play attend la clé d'origine. Signez avec cette clé, ou demandez un redémarrage de la clé d'upload dans le console Play en utilisant le certificat PEM d'un nouveau cléstocker.
Google Sign-In ou Firebase Auth ne fonctionne que dans les builds de débogage
Ajoutez les empreintes SHA-1 et SHA-256 de la version de production ainsi que les empreintes des clés de signature de l'application Play Console.

FAQ

Générateur de clés Android FAQ

Informations sur les formats de clés de stockage, les mots de passe, la validité, les clés d'upload Google Play et ce à faire si une clé est perdue.

Qu'est-ce qu'un clé de stockage Android ?

An Android keystore is a password-protected file that holds the private key and certificate used to sign your APK or Android App Bundle. Android and Google Play use that signature to verify that every update comes from the same developer, so the same key must sign all future releases of the app.

Comment générer un clé de stockage Android en ligne sans Android Studio ?

Remplissez votre nom, votre adresse e-mail, votre pays code, un alias de clé, une période de validité et un mot de passe dans le formulaire ci-dessus, puis sélectionnez Générer clé de stockage. Vous obtenez un clé de stockage .p12 prête à l'emploi, une copie PEM du certificat et les empreintes SHA-1 et SHA-256. Aucune installation d'Android Studio, JDK ou keytool n'est nécessaire.

Quel format de fichier produit ce générateur de clés Android ?

Cet outil de génération de clés de stockage Android produit un fichier PKCS#12 (.p12) contenant une clé de signature RSA 2048-bit unique et un certificat signé SHA-256, ainsi qu'une exportation PEM du certificat. PKCS#12 est le type de clé de stockage par défaut depuis Java 9 et est accepté par Gradle, apksigner, jarsigner et Google Play. Si un outil plus ancien nécessite un fichier JKS, convertissez-l’avec keytool -importkeystore.

Est-ce sécurisé de générer une clé de stockage en ligne ? Est ma clé stockée ?

La clé de stockage est générée sur demande par un point de terminaison d'état sans état Capgo sur HTTPS et renvoyée directement à votre navigateur. Les réponses sont envoyées avec Cache-Control : no-store, et la clé privée, le mot de passe et les fichiers ne sont jamais écrits dans une base de données ou conservés après la réponse. Si votre politique de sécurité exige des clés qui ne quittent jamais votre machine, utilisez la commande équivalente keytool affichée sur cette page.

Puis-je utiliser ce clé de stockage pour les publications Google Play ?

Oui. Utilisez-la comme clé de téléversement pour une nouvelle application inscrite dans Play App Signing, ou comme clé de signature d'application pour la distribution directe d'APK. Google Play exige que le certificat soit valide jusqu'au moins le 22 octobre 2033, ce que la validité par défaut de 25 ans couvre.

Les mots de passe du magasin et de la clé doivent-ils être différents ?

Les clés de stockage PKCS#12 utilisent une seule mot de passe pour le conteneur et la clé. Dans Gradle, le Capacitor CLI, fastlane, ou Capgo Cloud Build, entrez la même valeur pour le mot de passe de stockage et le mot de passe de clé.

Quel délai de validité devrais-je choisir ?

Conservez la valeur par défaut de 25 ans. Google recommande d'au moins 25 ans, et Google Play rejette les téléchargements signés avec un certificat qui expire avant le 22 octobre 2033. Vous ne pouvez pas étendre la validité d'une clé existante ultérieurement.

Si j'oublie mon fichier de clés ou mon mot de passe ?

Si votre application utilise Play App Signing, vous pouvez demander à Google de réinitialiser la clé de téléchargement à partir de Play Console en générant un nouveau stockage ici et en téléchargeant son certificat PEM. Sans Play App Signing, une clé perdue signifie que vous ne pouvez pas publier des mises à jour pour la même liste d'applications, donc sauvegardez le fichier, l'alias et le mot de passe dans un gestionnaire de secrets.

Ai-je besoin de cet outil pour une clé de débogage ?

Généralement non. L'SDK Android crée automatiquement une clé de débogage à ~/.android/debug.keystore avec le mot de passe android et l'alias androiddebugkey. Utilisez ce générateur pour les clés de publication et de téléchargement qui doivent rester stables entre les mises à jour de magasin.

Où puis-je trouver les empreintes SHA-1 et SHA-256 ?

Elles sont affichées dans le panneau de résultats juste après la génération. Enregistrez-les avec Firebase, Google Sign-In, Google Maps ou Android App Links (assetlinks.json). Notez que, une fois que Play App Signing ré-encapsule votre application, les services Google ont également besoin de l'empreinte de la clé de signature de l'application à partir de Play Console.

Fonctionne-t-il pour Capacitor, Ionic, React Native et Flutter ?

Oui. Un fichier de clés est indépendant du framework. Toute construction Android qui utilise Gradle peut l'utiliser, y compris Capacitor, Ionic, React Native, Flutter et les projets Kotlin ou Java natifs.