VIII.Déploiement

Signature d’une application android

Pré-requis

Voici les pré-requis pour signer une application android :

  • Une clé privée de signature (alias) stockée dans un conteneur (fichier “jks”)
    Ce conteneur et sa clé sont tous les deux protégés par un mot de passe

  • L’outil en ligne de commande keytool, disponible dans le JDK (Java Development Kit) ou le JRE (Java Runtime Environment)
    http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • Les outils de compilation en ligne de commande android SDK Tools
    Ils sont disponibles dans la partie “Get just the command line tools” en bas de cette page : https://developer.android.com/studio/index.html
    Si vous avez installé Android Studio, ces outils sont déjà présents sur votre machine

Générer une clé privée de signature

Si vous possédez déjà une clé privée de signature, vous pouvez ignorer cette partie.

Pour générer un conteneur et une clé privée, utilisez la commande suivante :
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

Sous Windows la commande est généralement disponible dans le dossier C:\Programmes\Java\[version]\bin
Sous MacOS et Linux la commande est disponible directement dans un terminal

Les paramètres suivants doivent être changés :

  • my-release-key.jks : nom du fichier généré
  • my-alias : nom de la clé privée stockée dans ce fichier, par exemple le nom de votre entreprise

Diverses informations vous seront demandées (l’ordre peut varier en fonction du système d’exploitation utilisé) :

  • Enter keystore password: mot de passe du conteneur
  • Re-enter new password: mot de passe du conteneur à nouveau pour validation
  • What is your first and last name? prénom et nom du responsable du certificat
  • What is the name of your organizational unit?” département au sein de l’entreprise, peut être laissé vide
  • What is the name of your organization? nom de l’entreprise entreprise
  • What is the name of your City or Locality? ville
  • What is the name of your State or Province? département
  • What is the two-letter country code for this unit? code du pays (exemple: FR)
  • Is CN=MonPrénom MonNom, OU=Kawet, O=Kawet, L=Paris, ST=Ile-de-France, C=FR correct? validation des informations renseignées, tapez “yes” pour confirmer ou “no” pour recommencer
  • Enter key password for <my-alias>: mot de passe pour la clé privée, ou tapez “Entrée” pour utiliser la même que le conteneur
  • Re-enter new password: mot de passe pour la clé privée à nouveau pour validation, si différent du mot de passe du conteneur

Vous obtenez ensuite un fichier “jks” contenant votre clé privée de signature, valide 10.000 jours.

Attention : Ce fichier doit être sécurisé par vos soins. si vous le perdez lui ou ses mots de passe, vous ne pourrez plus signer vos applications, que ce soit pour un nouveau déploiement ou une mise à jour.

Signer une application

Pour signer l’application, utilisez la ligne de commande suivante :
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk

La commande apksigner est disponible dans les SDK Tools android, au niveau du sous-répertoire /build-tools/[version]/

Les paramètres suivants doivent être changés :

  • my-release-key.jks : chemin vers le conteneur de vôtre clé privée de signature
  • my-app-release.apk : nom de destination pour le fichier apk signé
  • my-app-unsigned-aligned.apk : chemin vers le fichier apk non signé

Les informations suivantes vous seront demandées :

  • Keystore password for signer #1: mot de passe du conteneur
  • Key “my-alias” password for signer #1: mot de passe de la clé privée

Vous obtenez ensuite la version signée de l’application sous le nom my-app-release.apk

Vérifier la signature d’une application

Pour vérifier que l’application est bien signée, utilisez la ligne de commande suivante :
apksigner verify -v my-app-release.apk

Vous devez remplacer my-app-release.apk par le chemin vers le fichier apk signé.

Une application non signée renverra l’erreur suivante :

DOES NOT VERIFY
ERROR: No JAR signatures

Une application correctement signée renverra le résultat suivant :

Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Number of signers: 1

Les éventuels WARNING peuvent être ignorés.

Signature d’une application iOS

Pré-requis

  • un Macintosh avec macOS High Sierra (>= 10.13.3)
  • Xcode (>= 9.2)

Signer une application

  • Récupérez le fichier zip de l’archive non signée.
  • Décompressez ce fichier zip en double cliquant dessus.
  • Double cliquez le fichier .xcarchive obtenu. Cela ouvre Xcode.

  • Cliquez sur “Export…” puis “Enterprise” ou “Upload to App Store…” suivant le besoin (build entreprise ou App Store)
  • Choisissez la “Development team” puis “Next”
  • Laissez le options sélectionnées par défaut, cliquez “Next”
  • Choisissez “Manually manage signing”, puis “Next”
  • Sélectionnez le profil correspondant, puis “Next”

Après les vérifications et la validation, vous avez de nouveau le choix entre exporter un fichier ou téléverser sur l’App Store.