Signera en uppdaterad version av ett AIR-program

Varje gång du skapar en uppdaterad version av ett befintligt AIR-program signerar du det uppdaterade programmet. I bästa fall kan du använda samma certifikat, som du använde för att signera den tidigare versionen, för att signera den uppdaterade versionen. I så fall går signeringen till på samma sätt som när du signerar programmet för första gången.

Om det certifikat som användes för att signera den tidigare versionen av programmet har upphört att gälla och förnyats eller ersatts, kan du använda det förnyade eller nya certifikatet för att signera den uppdaterade versionen. Det gör du genom att signera programmet med det nya certifikatet och använda en flyttningssignatur med originalcertifikatet. Flyttningssignaturen bekräftar att det ursprungliga certifikatets ägare har publicerat uppdateringen.

Tänk på följande innan du använder en flyttningssignatur:

  • För att kunna använda en flyttningssignatur måste det ursprungliga certifikatet fortfarande vara giltigt eller ha upphört att gälla under de senaste 365 dagarna. Längden på den här fristen kan komma att ändras i framtiden.

    Obs! Fram till AIR 2.6 var fristen 180 dagar.
  • Du kan inte använda en flyttningssignatur om certifikatet har upphört att gälla och den 365-dagar långa fristen har förflutit. I så fall måste användarna avinstallera den befintliga versionen innan de kan installera den uppdaterade.

  • Fristen på 365 dagar gäller endast för program där AIR-version 1.5.3 eller senare anges i namnutrymmet för programbeskrivningen.

Viktigt! Att signera uppdateringar med flyttningssignaturer från utgångna certifikat är en tillfällig lösning. Om du vill ha en komplett lösning skapar du ett standardiserat signeringsarbetsflöde för att hantera distribution av programuppdateringar. Signera till exempel varje uppdatering med det senaste certifikatet och använd ett flyttningscertifikat tillsammans med det certifikat som användes för att signera den förra uppdateringen (i förekommande fall). Överför varje uppdatering till en egen webbadress (URL) från vilken användare kan hämta programmet. Mer information finns i Signeringsarbetsflöde för uppdateringar .

Följande tabell och bilder summerar arbetsflödet för flyttningssignaturer:

Scenario

Status för ursprungligt certifikat

Utvecklaråtgärd

Användaråtgärd

Program baserat på Adobe AIR version 1.5.3 eller senare

Giltigt

Publicera den senaste versionen av AIR-programmet

Ingen åtgärd krävs

Programmet uppdateras automatiskt

Upphört att gälla, men inom 365-dagarsfristen

Signera programmet med det nya certifikatet. Använd en flyttningssignatur med det certifikat som upphört att gälla.

Ingen åtgärd krävs

Programmet uppdateras automatiskt

Har upphört att gälla och fristen har gått ut

Du kan inte använda flyttningssignaturen på AIR-programuppdateringen.

Du måste i stället publicera en annan version av AIR-programmet med ett nytt certifikat. Användare kan installera den nya versionen när de har avinstallerat den befintliga versionen av AIR-programmet.

Avinstallera den aktuella versionen av AIR-programmet och installera den senaste versionen

  • Program baserat på Adobe AIR version 1.5.2 eller tidigare

  • Utgivar-ID:t i uppdateringens programbeskrivning matchar utgivar-ID:t för den tidigare versionen.

Giltigt

Publicera den senaste versionen av AIR-programmet

Ingen åtgärd krävs

Programmet uppdateras automatiskt

Har upphört att gälla och fristen har gått ut

Du kan inte använda flyttningssignaturen på AIR-programuppdateringen.

Du måste i stället publicera en annan version av AIR-programmet med ett nytt certifikat. Användare kan installera den nya versionen när de har avinstallerat den befintliga versionen av AIR-programmet.

Avinstallera den aktuella versionen av AIR-programmet och installera den senaste versionen

  • Program baserat på Adobe AIR version 1.5.2 eller tidigare

  • Utgivar-ID:t i uppdateringens programbeskrivning matchar inte utgivar-ID:t för den tidigare versionen.

Alla

Signera AIR-programmet med ett giltigt certifikat och publicera den senaste versionen av AIR-programmet.

Avinstallera den aktuella versionen av AIR-programmet och installera den senaste versionen

Signeringsarbetsflöde för uppdateringar

Flytta ett AIR-program till att använda ett nytt certifikat

Så här flyttar du ett AIR-program till ett nytt certifikat medan du uppdaterar programmet:

  1. Skapa en uppdatering av programmet.

  2. Paketera och signera AIR-uppdateringsfilen med det nya certifikatet.

  3. Signera AIR-filen igen med det ursprungliga certifikatet med hjälp av kommandot -migrate

En AIR-fil som signerats med kommandot -migrate kan också användas för att installera en ny version av programmet, inte bara för att uppdatera tidigare versioner som signerats med det gamla certifikatet.

Obs! När du uppdaterar ett program som publicerats för en tidigare version av AIR än 1.5.3 anger du det ursprungliga utgivar-ID:t i programbeskrivningen. Annars måste användare av programmet avinstallera den tidigare versionen innan de installerar uppdateringen.

Använd ADT-kommandot - migrate med följande syntax:

adt -migrate SIGNING_OPTIONS air_file_in air_file_out
  • SIGNING_OPTIONS Signeringsalternativen identifierar den privata nyckeln och det certifikat som används för att signera AIR-filen. Dessa alternativ måste identifiera det ursprungliga signeringscertifikatet och beskrivs i ADT-kodsigneringsalternativ .

  • air_file_in AIR-filen för uppdateringen, signerad med det nya certifikatet.

  • air_file_out AIR-filen som ska skapas.

Obs! Namnen på de filer som används för in- och utdata i AIR måste vara olika.

I följande exempel visas hur ADT anropas med flaggan -migrate för att använda en flyttningssignatur på en uppdaterad version av ett AIR-program:

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Obs! Kommandot -migrate lades till i ADT i AIR 1.1-utgåvan.

Flytta ett AIR-program med systemspecifikt installationsprogram så att det använder ett nytt certifikat

Ett AIR-program som publiceras som ett systemspecifikt installationsprogram (till exempel ett program som använder det systemspecifika tillägget api) kan inte signeras med ADT-kommandot -migrate , eftersom det är ett plattformsberoende program, inte en .air-fil. Om du vill flytta ett AIR-program som publicerats som ett systemspecifikt tillägg så att det använder ett nytt certifikat gör du i stället så här:

  1. Skapa en uppdatering av programmet.

  2. Kontrollera att taggen <supportedProfiles> i programbeskrivningsfilen (app.xml) innehåller både profilen desktop och profilen extendedDesktop (eller ta bort taggen <supportedProfiles> från programbeskrivningen).

  3. Paketera och signera det uppdaterade programmet som en .air-fil med ADT-kommandot -package och det nya certifikatet.

  4. Använd flyttningscertifikatet på .air-filen med ADT-kommandot -migrate och det ursprungliga certifikatet (enligt beskrivningen tidigare i Flytta ett AIR-program till att använda ett nytt certifikat ).

  5. Paketera .air-filen som ett systemspecifikt installationsprogram med ADT-kommandot -package och flaggan -target native . Eftersom programmet redan har signerats anger du inget signeringscertifikat i det här steget.

I följande exempel beskrivs steg 3–5 i processen. Koden anropar ADT med kommandot -package , anropar ADT med kommandot -migrate och anropar sedan ADT igen med kommandot -package för att paketera en uppdaterad version av ett AIR-program som ett systemspecifikt installationsprogram:

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

Flytta ett AIR-program som använder ett systemspecifikt tillägg så att det använder ett nytt certifikat

Ett AIR-program som använder ett systemspecifikt tillägg kan inte signeras med ADT-kommandot -migrate . Det kan inte heller flyttas på samma sätt som ett AIR-program som använder ett systemspecifikt installationsprogram, eftersom det inte kan publiceras som en mellanliggande .air-fil. Om du vill flytta ett AIR-program som använder ett systemspecifikt tillägg så att det använder ett nytt certifikat gör du i stället så här:

  1. Skapa en uppdatering av programmet.

  2. Paketera och signera det uppdaterade systemspecifika installationsprogrammet med ADT-kommandot -package . Paketera programmet med det nya certifikatet och inkludera flaggan -migrate med det ursprungliga certifikatet.

Använd följande syntax för att anropa ADT-kommandot -package med flaggan -migrate :

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
  • AIR_SIGNING_OPTIONS Signeringsalternativen identifierar den privata nyckeln och det certifikat som används för att signera AIR-filen. Dessa alternativ identifierar det nya signeringscertifikatet och beskrivs i ADT-kodsigneringsalternativ .

  • MIGRATION_SIGNING_OPTIONS Signeringsalternativen identifierar den privata nyckeln och det certifikat som används för att signera AIR-filen. Dessa alternativ identifierar det ursprungliga signeringscertifikatet och beskrivs i ADT-kodsigneringsalternativ .

  • De andra alternativen är samma alternativ som används för att paketera ett AIR-program med systemspecifikt installationsprogram och beskrivs i ADT-kommandot package .

Följande exempel visar hur ADT anropas med kommandot -package och flaggan -migrate för att paketera en uppdaterad version av ett AIR-program som använder ett systemspecifikt tillägg och använda en flyttningssignatur på uppdateringen:

adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Obs! Flaggan -migrate i kommandot -package finns i ADT i AIR 3.6 och senare versioner.