Aller au contenu principal

Signature Android

Générateur de keystore Android

Générez un keystore Android en ligne en quelques secondes, sans Android Studio ni keytool. Obtenez un keystore de release PKCS#12, le certificat PEM, ainsi que les empreintes SHA-1 et SHA-256, prêts pour Gradle, Capacitor, fastlane, la CI et Google Play.

Conteneur

PKCS#12

Clé

RSA 2048, SHA-256

Empreintes

SHA-1 et SHA-256

Checklist de release

  1. 1. Choisissez l'alias et le mot de passe qui accompagneront cette application sur le long terme.
  2. 2. Téléchargez le keystore et sauvegardez les métadonnées dans votre gestionnaire de secrets.
  3. 3. Configurez le même alias et le même mot de passe dans Gradle ou votre environnement CI.
  4. 4. Gardez la clé d'upload stable pour ne pas bloquer vos futures releases sur le Play Store.

Saisie

Détails du keystore

Remplissez les informations du sujet à inclure dans le certificat de signature et choisissez un alias stable.

Résultat

Bundle de signature Android généré

Une fois la génération terminée, vous obtiendrez un keystore téléchargeable ainsi que l'export du certificat et les empreintes nécessaires pour la configuration des stores 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.

L'essentiel

Qu'est-ce qu'un Android keystore ?

Un Android keystore 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 de pouvoir être installé ou publié, et Android n'accepte une mise à jour que si elle est signée avec la même clé que la version déjà installée.

Cela fait du keystore l'un des fichiers les plus importants de votre projet. Avec Play App Signing, il sert de clé d'upload, que Google vérifie avant de signer à nouveau votre application. Sans Play App Signing, il s'agit du clé de signature de l'application elle-même, et la perdre signifie que vous ne pourrez plus mettre à jour l'application.

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

Sécurité et confidentialité

Comment votre keystore est généré

  • Le keystore est créé à la demande par un endpoint Capgo stateless via HTTPS et renvoyé directement à votre navigateur en 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 enregistrés dans une base de données ni conservés après la réponse.
  • Le keystore est protégé par votre mot de passe via un chiffrement AES-256 à l'intérieur du conteneur PKCS#12.
  • Aucun compte ni inscription n'est requis, et les requêtes sont limitées pour éviter les abus.

Besoin d'une clé qui ne quitte jamais votre machine ? Exécutez la commande keytool équivalente en local. Elle produit le même type de keystore.

Commande keytool équivalente
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

Comment générer un keystore Android en ligne

D'un formulaire vide à une release signée sur Google Play en six étapes. Les trois premières prennent moins d'une minute.

  1. Étape 1

    Renseignez les informations du certificat

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

  2. Étape 2

    Choose an alias, validity, and password

    Choisissez un alias simple comme release ou upload, gardez la validité de 25 ans et définissez un mot de passe robuste d'au moins 8 caractères. Notez ces trois éléments avant de continuer.

  3. Étape 3

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

    Cliquez sur Generate keystore, puis téléchargez le keystore .p12 et le certificat PEM. Copiez les empreintes SHA-1 et SHA-256 affichées dans le panneau de résultats.

  4. Étape 4

    Sauvegardez le keystore et les identifiants

    Stockez le fichier keystore, l'alias et le mot de passe ensemble dans un gestionnaire de mots de passe ou de secrets. Ne commitez jamais le keystore sur Git.

  5. Étape 5

    Configurez la signature dans votre build

    Indiquez le keystore, l'alias et le mot de passe à Gradle, au Capacitor CLI, à fastlane ou au Capgo Cloud Build, puis générez un build signé en format AAB ou APK.

  6. Étape 6

    Envoyez l'application signée sur Google Play

    Envoyez le bundle Android signé dans la Play Console. Avec Play App Signing, ce keystore devient votre clé d'upload et Google gère la clé de signature finale de l'application.

Utilisez le résultat

Signez votre application Android avec le keystore généré

Remplacez l'alias et le mot de passe par les valeurs saisies ci-dessus. Le keystore étant au format PKCS#12, le mot de passe de la clé est identique au mot de passe du store.

Config de signature Gradle

Compatible avec Capacitor, Ionic, React Native, Flutter et les projets natifs. Gardez vos mots de passe dans gradle.properties ou vos 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

Générez un Android App Bundle signé pour une application Capacitor en une seule commande.

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

Capgo Build cloud

Sauvegardez le keystore une fois, puis compilez et signez vos apps iOS et Android dans le cloud avec Capgo.

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 via les 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érifier, convertir et stocker dans la CI

Vérifiez l'alias et les empreintes, convertissez en JKS pour les outils legacy, ou encodez le fichier pour un secret de 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 courantes de keystore Android et solutions

Le keystore a été altéré ou le mot de passe est incorrect
Le mot de passe du store est incorrect. Copiez-l’à nouveau depuis votre gestionnaire de mots de passe et vérifiez l'absence d'espaces à la fin de vos secrets CI.
Aucune clé avec l'alias 'release' trouvée dans le keystore
L'alias ne correspond pas. Exécutez keytool -list sur le keystore pour voir l'alias exact, qui est sensible à la casse.
Bloc final mal complété (padding incorrect)
Le mot de passe de la clé est erroné. Avec les keystores PKCS#12, le mot de passe de la clé doit être identique au mot de passe du keystore.
Format de keystore invalide
Une ancienne toolchain Java 8 lit un fichier PKCS#12 comme du JKS. Définissez storeType "pkcs12" dans Gradle ou convertissez le fichier en JKS avec keytool -importkeystore.
Votre Android App Bundle est signé avec la mauvaise clé
Google Play attend la clé d'upload originale. Signez avec cette clé, ou demandez une réinitialisation de la clé d'upload dans la Play Console en utilisant le certificat PEM d'un nouveau keystore.
Google Sign-In ou Firebase Auth échoue uniquement lors des builds de release
Ajoutez les empreintes SHA-1 et SHA-256 de la release à Firebase, ainsi que les empreintes de la clé Play App Signing depuis la Play Console.

FAQ

FAQ sur le générateur de keystore Android

Réponses sur les formats de keystore, les mots de passe, la validité, les clés d'upload Google Play et la marche à suivre en cas de perte de clé.

Qu'est-ce qu'un Android keystore ?

Un Android keystore est un fichier protégé par mot de passe qui contient la clé privée et le certificat utilisés pour signer votre APK ou Android App Bundle. Android et Google Play utilisent cette signature pour vérifier que chaque mise à jour provient du même développeur ; la même clé doit donc signer toutes les futures releases de l'app.

Comment générer un Android keystore en ligne sans Android Studio ?

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

Quel format de fichier ce générateur de keystore Android produit-il ?

Il produit un keystore PKCS#12 (.p12) avec une clé de signature RSA 2048 bits unique et un certificat signé SHA-256, ainsi qu'un export de certificat PEM. Le PKCS#12 est le type de keystore 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-il sûr de générer un keystore en ligne ? Ma clé est-elle stockée ?

Le keystore est généré à la demande par un endpoint Capgo sans état via HTTPS et renvoyé directement à votre navigateur. Les réponses sont envoyées avec Cache-Control: no-store ; la clé privée, le mot de passe et les fichiers ne sont jamais écrits dans une base de données ni 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 keytool équivalente affichée sur cette page.

Puis-je utiliser ce keystore pour mes releases sur Google Play ?

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

Le mot de passe du store et celui de la clé doivent-ils être différents ?

Non. Les keystores PKCS#12 utilisent un seul mot de passe pour le conteneur et la clé. Dans Gradle, le Capacitor CLI, fastlane ou Capgo Cloud Build, saisissez la même valeur pour le mot de passe du keystore et celui de la clé.

Quelle période de validité dois-je choisir ?

Conservez la valeur par défaut de 25 ans. Google recommande au moins 25 ans, et Google Play rejette les uploads signés avec un certificat qui expire avant le 22 octobre 2033. Vous ne pourrez pas prolonger la validité d'une clé existante par la suite.

Que se passe-t-il si je perds mon keystore ou mon mot de passe ?

Si votre app utilise Play App Signing, vous pouvez demander à Google de réinitialiser la clé d'upload depuis la Play Console en générant un nouveau keystore ici et en envoyant son certificat PEM. Sans Play App Signing, une clé perdue vous empêche de publier des mises à jour sur la même fiche d'application ; sauvegardez donc le fichier, l'alias et le mot de passe dans un gestionnaire de secrets.

Ai-je besoin de cet outil pour un keystore de debug ?

Généralement non. Le SDK Android crée automatiquement un keystore de debug dans ~/.android/debug.keystore avec le mot de passe android et l'alias androiddebugkey. Utilisez ce générateur pour les clés de release et d'upload qui doivent rester stables d'une release sur les stores à l'autre.

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

Elles s'affichent dans le panneau de résultat juste après la génération. Enregistrez-les auprès de Firebase, Google Sign-In, Google Maps ou Android App Links (assetlinks.json). Notez qu'une fois que Play App Signing a re-signé votre application, les services Google ont aussi besoin de l'empreinte de la clé de signature de l'app depuis la Play Console.

Est-ce que cela fonctionne pour Capacitor, Ionic, React Native et Flutter ?

Oui. Un keystore est indépendant du framework. Tout build Android utilisant Gradle peut l'utiliser pour la signature, y compris Capacitor, Ionic, React Native, Flutter, ainsi que les projets natifs Kotlin ou Java.

Capgo Native Build

Compilez et signez vos apps iOS et Android dans le cloud avec Capgo

Envoyez le keystore généré avec cet outil, déclenchez des builds de release via votre CI et déployez des Android App Bundles signés sur Google Play sans gérer votre propre ferme de build.

Explorer Native Build