Signature d’une version mise à jour d’une application AIR

Chaque fois que vous créez une version mise à jour d’une application AIR existante, vous signez l’application mise à jour. Dans le meilleur des cas, vous pouvez signer la version mise à jour à l’aide du même certificat que celui que vous aviez utilisé pour la version précédente. La procédure est alors parfaitement identique à celle de la première signature de l’application.

Si le certificat utilisé pour signer la version précédente de l’application est arrivé à expiration ou a été remplacé, vous pouvez utiliser le certificat renouvelé ou le certificat de remplacement pour signer la version mise à jour. Pour ce faire, signez l’application avec le nouveau certificat et appliquez une signature de migration en utilisant le certificat d’origine. La signature de migration garantit que le propriétaire du certificat original a publié la mise à jour.

Avant d’appliquer une signature de migration, tenez compte des éléments suivants :

  • Pour pouvoir appliquer une signature de migration, le certificat original doit être valide ou être arrivé à expiration il y a moins de 365 jours. La durée de ce délai est susceptible d’être modifiée ultérieurement.

    Remarque : jusqu’à la version 2.6 d’AIR, ce délai était de 180 jours.
  • Il est impossible d’appliquer une signature de migration au terme du délai de 365 jours qui suit l’expiration du certificat. Dans ce cas, les utilisateurs doivent désinstaller la version existante avant d’installer la version mise à jour.

  • Le délai de 365 jours ne s’applique qu’aux applications pour lesquelles l’espace de noms spécifie AIR 1.5.3 ou une version ultérieure dans le fichier descripteur.

Important : la signature de mises à jour par le biais de signatures de migration issues de certificats arrivés à expiration ne constitue qu’une solution temporaire. Pour une solution à long terme, créez un flux de travail de signature standardisé destiné à gérer le déploiement de mises à jour d’application. Par exemple, signez chaque mise à jour avec le certificat le plus récent et appliquez un certificat de migration en utilisant le certificat avec lequel la dernière version a été signée (le cas échéant). Chargez chaque mise à jour vers sa propre URL, depuis laquelle les utilisateurs peuvent télécharger l’application. Pour plus d’informations, voir Flux de travail de signature associé aux mises à jour d’application.

Le tableau et la figure qui suivent résument le flux de travail associé aux signatures de migration :

Scénario

État du certificat d’origine

Action du développeur

Action de l’utilisateur

Application basée sur le moteur d’exécution d’Adobe AIR 1.5.3 ou ultérieur

Valide

Publiez la version la plus récente de l’application AIR.

Aucune action requise

L’application est automatiquement mise à niveau.

Arrivé à expiration, mais le délai de 365 jours n’est pas dépassé

Signez l’application à l’aide du nouveau certificat. Appliquez une signature de migration en utilisant le certificat expiré.

Aucune action requise

L’application est automatiquement mise à niveau.

Arrivé à expiration et délai dépassé

Il est impossible d’appliquer la signature de migration à la mise à jour de l’application AIR.

Vous devez plutôt publier une autre version de l’application AIR à l’aide d’un nouveau certificat. Les utilisateurs peuvent installer la nouvelle version après avoir désinstallé la version existante de l’application AIR.

Désinstallez la version actuelle de l’application AIR et installez la version la plus récente.

  • Application basée sur le moteur d’exécution d’Adobe AIR 1.5.2 ou antérieur

  • L’identifiant d’éditeur figurant dans le descripteur d’application de la mise à jour correspond à celui de la version précédente

Valide

Publiez la version la plus récente de l’application AIR.

Aucune action requise

L’application est automatiquement mise à niveau.

Arrivé à expiration et délai dépassé

Il est impossible d’appliquer la signature de migration à la mise à jour de l’application AIR.

Vous devez plutôt publier une autre version de l’application AIR à l’aide d’un nouveau certificat. Les utilisateurs peuvent installer la nouvelle version après avoir désinstallé la version existante de l’application AIR.

Désinstallez la version actuelle de l’application AIR et installez la version la plus récente.

  • Application basée sur le moteur d’exécution d’Adobe AIR 1.5.2 ou antérieur

  • L’identifiant d’éditeur figurant dans le descripteur d’application de la mise à jour ne correspond pas à celui de la version précédente

Tous les états

Signez l’application AIR à l’aide d’un certificat valide et publiez la version la plus récente de l’application AIR

Désinstallez la version actuelle de l’application AIR et installez la version la plus récente.

Flux de travail de signature associé aux mises à jour

Migration d’une application AIR en vue d’utiliser un nouveau certificat

Pour effectuer la migration d’une application AIR vers un nouveau certificat lors de la mise à jour de l’application :

  1. Créez une mise à jour de votre application.

  2. Créez le package et signez le fichier AIR de mise à jour à l’aide du nouveau certificat.

  3. Signez à nouveau le fichier AIR au moyen du certificat d’origine en utilisant la commande -migrate.

Un fichier AIR signé avec la commande -migrate permet de mettre à jour de toute version précédente de l’application signée à l’aide de l’ancien certificat, mais aussi d’installer une nouvelle version de l’application.

Remarque : lors de la mise à jour d’une application publiée pour une version d’AIR antérieure à 1.5.3, stipulez l’identifiant d’éditeur original dans le fichier descripteur de l’application. Les utilisateurs de l’application devront sinon désinstaller la version antérieure avant d’installer la mise à jour.

Faites appel à la commande -migrate d’ADT en respectant la syntaxe suivante :

adt -migrate SIGNING_OPTIONS air_file_in air_file_out
  • SIGNING_OPTIONS Les options de signature permettent d’identifier la clé privée et le certificat utilisés pour signer le fichier AIR. Ces options doivent identifier le certificat de signature d’origine. Elles sont décrites à la section Options de signature du code de l’outil ADT.

  • air_file_in Fichier AIR destiné à la mise à jour, signé au moyen du nouveau certificat.

  • air_file_out Fichier AIR à créer.

Remarque : les fichiers d’entrée et de sortie AIR doivent porter un nom différent.

L’exemple montre l’appel d’ADT avec l’indicateur -migrate pour appliquer une signature de migration à une version mise à jour d’une application AIR :

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Remarque : la commande -migrate a été ajoutée à l’outil ADT dans la version 1.1 d’AIR.

Migration d’une application AIR avec programme d’installation natif afin d’utiliser un nouveau certificat

Une application AIR publiée en tant que programme d’installation natif (par exemple, une application qui utilise l’API d’extension native) ne peut pas être signée à l’aide de la commande ADT -migrate car il s’agit d’une application native spécifique à la plate-forme, pas d’un fichier .air. Pour effectuer la migration d’une application AIR publiée en tant qu’extension native vers un nouveau certificat, mieux vaut procéder comme suit :

  1. Créez une mise à jour de votre application.

  2. Assurez-vous que, dans votre fichier de descripteur d’application (app.xml), la balise <supportedProfiles> inclut le profil de bureau et le profil de bureau étendu (extendedDesktop) (ou retirez la balise <supportedProfiles> du descripteur d’application).

  3. Mettez en package et signez l’application mise à jour en tant que fichier .air en utilisant la commande ADT -package avec le nouveau certificat.

  4. Appliquez le certificat de migration au fichier .air à l’aide de la commande ADT -migrate en utilisant le certificat d’origine (comme décrit plus haut dans Migration d’une application AIR en vue d’utiliser un nouveau certificat).

  5. Mettez le fichier .air en package dans un programme d’installation natif en utilisant la commande ADT -package avec l’indicateur -target native. Comme l’application est déjà signée, vous n’avez pas besoin de spécifier un certificat de signature à cette étape.

L’exemple suivant illustre les étapes 3 à 5 de ce processus. Le code appelle ADT avec la commande -package, puis avec -migrate et enfin une nouvelle fois avec -package afin de mettre en package une version mise à jour d’une application AIR sous forme de programme d’installation natif :

adt -package -storetype pkcs12 -keystore new_cert.p12 myAppUpdated.air myApp.xml myApp.swf 
adt -migrate -storetype pkcs12 -keystore original_cert.p12 myAppUpdated.air myAppMigrate.air 
adt -package -target native myApp.exe myAppMigrate.air

Migration d’une application AIR qui utilise une extension native en vue d’utiliser un nouveau certificat

Une application AIR qui utilise une extension native ne peut pas être signée à l’aide de la commande ADT -migrate. Il est également impossible d’effectuer sa migration à l’aide de la procédure de migration d’une application AIR avec programme d’installation natif, car elle ne peut pas être publiée en tant que fichier .air intermédiaire. Pour effectuer la migration d’une application AIR qui utilise une extension native vers un nouveau certificat, mieux vaut procéder comme suit :

  1. Créez une mise à jour de votre application.

  2. Mettez en package et signez le programme d’installation natif de la mise à jour en utilisant la commande ADT -package. Mettez l’application en package avec le nouveau certificat, et incluez l’indicateur -migrate désignant le certificat d’origine.

Utilisez la syntaxe suivant pour appeler la commande ADT -package avec l’indicateur -migrate :

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
  • AIR_SIGNING_OPTIONS Les options de signature permettent d’identifier la clé privée et le certificat utilisés pour signer le fichier AIR. Ces options identifient le nouveau certificat de signature. Elles sont décrites à la section Options de signature du code de l’outil ADT.

  • MIGRATION_SIGNING_OPTIONS Les options de signature permettent d’identifier la clé privée et le certificat utilisés pour signer le fichier AIR. Ces options identifient le certificat de signature d’origine. Elles sont décrites à la section Options de signature du code de l’outil ADT.

  • Les autres options sont les mêmes que celles utilisées pour la mise en package d’une application AIR avec programme d’installation natif et sont décrites à la section Commande ADT package.

L’exemple suivant montre comment appeler ADT avec la commande -package et l’indicateur -migrate en vue de mettre en package une version mise à jour d’une application AIR qui utilise une extension native et d’appliquer une signature de migration à la mise à jour :

adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Remarque : l’indicateur -migrate de la commande -package est disponible dans ADT dans AIR 3.6 et ultérieur.