Firma di una versione aggiornata di un'applicazione AIR

Ogni volta che create una versione aggiornata di un'applicazione AIR esistente, firmate l'applicazione aggiornata. Nel caso migliore, potete utilizzare lo stesso certificato per firmare la versione aggiornata utilizzata per firmare la versione precedente. In tal caso, la firma è esattamente uguale a quella utilizzata per la prima volta nell'applicazione.

Se il certificato utilizzato per firmare la versione precedente dell'applicazione è scaduto ed è stato rinnovato o sostituito, potete utilizzare il certificato rinnovato o nuovo (in sostituzione) per firmare la versione aggiornata. Per fare questo, firmate l'applicazione con il nuovo certificato e applicate una firma di migrazione utilizzando il certificato originale. La firma di migrazione conferma che il titolare del certificato originale ha pubblicato l'aggiornamento.

Prima di applicare una firma di migrazione, considerate i punti seguenti:

  • Per poter applicare una firma di migrazione, il certificato originale deve essere ancora valido o comunque deve essere scaduto da non più di 365 giorni. Questo periodo di tempo è denominato "periodo di tolleranza" e la sua durata potrebbe cambiare in futuro.

    Nota: fino a AIR 2.6, il periodo di tolleranza era di 180 giorni.
  • Non è possibile applicare una firma di migrazione dopo che il certificato è scaduto ed è trascorso anche il periodo di tolleranza di 365 giorni. In questo caso, gli utenti devono disinstallare la versione esistente prima di installare quella aggiornata.

  • Il periodo di tolleranza di 365 giorni vale solo per le applicazioni nelle quali è specificata una versione di AIR 1.5.3 (o superiore) nello spazio dei nomi del descrittore applicazione.

Importante: la firma di aggiornamenti con firme di migrazione associate a certificati scaduti è una soluzione solo temporanea. Per una soluzione completa, create un flusso di lavoro di firma standardizzato per gestire la distribuzione degli aggiornamenti delle applicazioni. Ad esempio, potete firmare ciascun aggiornamento con il certificato più recente e applicare un certificato di migrazione utilizzando il certificato utilizzato per firmare l'aggiornamento precedente (se disponibile). Caricate ciascun aggiornamento nella relativa URL dalla quale gli utenti possono scaricare l'applicazione. Per ulteriori informazioni, vedete Flusso di lavoro di firma per gli aggiornamenti delle applicazioni.

L'immagine e la tabella seguenti offrono un riepilogo del flusso di lavoro per le firme di migrazione:

Scenario

Stato del certificato originale

Azione dello sviluppatore

Azione dell'utente

Applicazione basata sul runtime Adobe AIR versione 1.5.3 o successiva

Valido

Pubblicare l'ultima versione dell'applicazione AIR

Nessuna azione richiesta

Upgrade automatico dell'applicazione

Scaduto, ma entro il periodo di tolleranza di 365 giorni

Firmare l'applicazione con il nuovo certificato. Applicare una firma di migrazione utilizzando il certificato scaduto.

Nessuna azione richiesta

Upgrade automatico dell'applicazione

Scaduto e non nel periodo di tolleranza

Non è possibile applicare la firma di migrazione all'aggiornamento dell'applicazione AIR.

Dovete pubblicare un'altra versione dell'applicazione AIR utilizzando un nuovo certificato. Gli utenti possono installare la nuova versione dopo aver disinstallato la versione esistente dell'applicazione AIR.

Disinstallare la versione corrente dell'applicazione AIR e installare la versione più recente

  • Applicazione basata sul runtime Adobe AIR versione 1.5.2 o precedente

  • L'ID editore nel descrittore dell'applicazione dell'aggiornamento corrisponde all'ID editore della versione precedente

Valido

Pubblicare l'ultima versione dell'applicazione AIR

Nessuna azione richiesta

Upgrade automatico dell'applicazione

Scaduto e non nel periodo di tolleranza

Non è possibile applicare la firma di migrazione all'aggiornamento dell'applicazione AIR.

Dovete pubblicare un'altra versione dell'applicazione AIR utilizzando un nuovo certificato. Gli utenti possono installare la nuova versione dopo aver disinstallato la versione esistente dell'applicazione AIR.

Disinstallare la versione corrente dell'applicazione AIR e installare la versione più recente

  • Applicazione basata sul runtime Adobe AIR versione 1.5.2 o precedente

  • L'ID editore nel descrittore dell'applicazione dell'aggiornamento non corrisponde all'ID editore della versione precedente

Qualsiasi

Firmare l'applicazione AIR tramite un certificato valido e pubblicare la versione più recente dell'applicazione AIR

Disinstallare la versione corrente dell'applicazione AIR e installare la versione più recente

Flusso di lavoro di firma per gli aggiornamenti

Migrazione di un'applicazione AIR per l'utilizzo di un nuovo certificato

Per migrare un'applicazione AIR in un nuovo certificato durante l'aggiornamento dell'applicazione:

  1. Create un aggiornamento dell'applicazione

  2. Create un pacchetto e firmate il file di aggiornamento di AIR con il nuovo certificato.

  3. Firmate nuovamente il file AIR con il certificato originale, mediante il comando -migrate.

Un file AIR firmato con il comando -migrate può inoltre essere utilizzato per installare una nuova versione dell'applicazione, oltre a essere utilizzato per aggiornare qualsiasi versione precedente firmata con il vecchio certificato.

Nota: quando aggiornate un'applicazione pubblicata per una versione di AIR anteriore alla 1.5.3, specificate l'ID editore originale nel descrittore dell'applicazione. In caso contrario, gli utenti dell'applicazione dovranno disinstallare la versione precedente prima di installare l'aggiornamento.

Utilizzate il comando ADT -migrate con la seguente sintassi:

adt -migrate SIGNING_OPTIONS air_file_in air_file_out
  • SIGNING_OPTIONS: le opzioni di firma identificano la chiave privata e il certificato da utilizzare per firmare il file AIR. Queste opzioni devono identificare il certificato per la firma originale e sono descritte in Opzioni di firma codice ADT.

  • air_file_in: il file AIR per l'aggiornamento, firmato mediante il nuovo certificato.

  • air_file_out: il file AIR da creare.

Nota: i nomi di file utilizzati per i file AIR di input e di output devono essere diversi.

Nell'esempio seguente viene illustrata la chiamata ad ADT con il flag -migrate per applicare una firma di migrazione a una versione aggiornata di un'applicazione AIR:

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Nota: il comando -migrate è stato aggiunto ad ADT nella versione AIR 1.1.

Migrazione di un'applicazione AIR del programma di installazione nativo per l'utilizzo di un nuovo certificato

In un'applicazione AIR pubblicata come programma di installazione nativo (ad esempio, un'applicazione in cui viene utilizzato l'API di estensione nativa) non può essere eseguita la firma tramite il comando ADT -migrate, in quanto si tratta di un'applicazione nativa specifica della piattaforma, non di un file .air. Invece, per migrare un'applicazione AIR pubblicata come estensione nativa in un nuovo certificato, procedere come descritto di seguito:

  1. Create un aggiornamento dell'applicazione.

  2. Assicuratevi che nel vostro file descrittore dell'applicazione (app.xml), il tag <supportedProfiles> includa il profilo desktop e il profilo extendedDesktop (oppure rimuovete il tag <supportedProfiles> dal descrittore dell'applicazione).

  3. Create un pacchetto e firmate l'applicazione di aggiornamento come file .air mediante il comando ADT -package con il nuovo certificato.

  4. Applicate il certificato di migrazione al file .air mediante il comando ADT -migrate con il certificato originale (come descritto in precedenza in Migrazione di un'applicazione AIR per l'utilizzo di un nuovo certificato).

  5. Create un pacchetto del file .air in un programma di installazione nativo mediante il comando ADT -package con il flag -target native. Poiché l'applicazione è già firmata, non è necessario specificare un certificato di firma in questo passaggio.

Nel seguente esempio sono illustrati i punti 3-5 di questo processo. Il codice chiama ADT con i comandi -package, -migrate, quindi nuovamente con il comando -package per creare un pacchetto di una versione aggiornata di un'applicazione AIR come programma di installazione nativo:

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

Migrazione di un'applicazione AIR che utilizza un'estensione nativa per l'utilizzo di un nuovo certificato

Un'applicazione AIR che utilizza un'estensione nativa non può essere firmata mediante il comando ADT -migrate. Non può inoltre essere migrata tramite la procedura per la migrazione di un'applicazione AIR del programma di installazione nativo, in quanto non può essere pubblicata come file .air intermedio. Se invece si desidera migrare un'applicazione AIR che utilizza un'estensione nativa in un nuovo certificato, procedere come descritto di seguito:

  1. Create un aggiornamento dell'applicazione

  2. Create un pacchetto e firmate il programma di installazione nativo di aggiornamento mediante il comando ADT -package. Create un pacchetto dell'applicazione con il nuovo certificato e includete il flag -migrate, specificando il certificato originale.

Utilizzate la seguente sintassi per chiamare il comando ADT -package con il flag -migrate:

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
  • AIR_SIGNING_OPTIONS: le opzioni di firma identificano la chiave privata e il certificato da utilizzare per firmare il file AIR. Queste opzioni identificano il nuovo certificato di firma e sono descritte in Opzioni di firma codice ADT.

  • MIGRATION_SIGNING_OPTIONS: le opzioni di firma identificano la chiave privata e il certificato da utilizzare per firmare il file AIR. Queste opzioni identificano il certificato di firma originale e sono descritte in Opzioni di firma codice ADT.

  • Le altre opzioni sono le stesse utilizzate per la creazione di pacchetti di un'applicazione AIR di un programma di installazione nativo e sono descritte in Comando ADT package.

Nel seguente esempio viene illustrata la chiamata ad ADT con il comando -package e il flag -migrate per creare un pacchetto di una versione aggiornata di un'applicazione AIR che utilizza un'estensione nativa e applicare una firma di migrazione all'aggiornamento:

adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Nota: il flag -migrate del comando -package è disponibile in ADT in AIR 3.6 e versioni successive.