Podpisywanie zaktualizowanej wersji aplikacji AIR

Podczas tworzenia zaktualizowanej wersji istniejącej aplikacji AIR zawsze jest podpisywana zaktualizowana aplikacja. W najlepszej sytuacji można podpisać zaktualizowaną wersję przy użyciu tego samego certyfikatu, który był używany z poprzednią wersją. Podpisywanie przebiega wtedy dokładnie tak samo jak podpisywanie aplikacji po raz pierwszy.

Jeśli certyfikat użyty do podpisania poprzedniej wersji aplikacji wygasł i został wznowiony lub zastąpiony, można podpisać zaktualizowaną wersję za pomocą wznowionego lub nowego (zastępczego) certyfikatu. Aby to zrobić, należy podpisać aplikację za pomocą nowego certyfikatu oraz zastosować podpis migracji przy użyciu oryginalnego certyfikatu. Podpis migracji poświadcza, że aktualizację opublikował właściciel oryginalnego certyfikatu.

Przed zastosowaniem podpisu migracji należy wziąć pod uwagę następujące kwestie:

  • Podpis migracji można zastosować pod warunkiem, że oryginalny certyfikat jest nadal ważny lub utracił ważność w ciągu ostatnich 365 dni. Ten okres jest nazywany „okresem prolongaty”. Jego długość może ulec zmianie w przyszłości.

    Uwaga: Do wersji AIR 2.6 okres prolongaty miał 180 dni.
  • Nie można zastosować podpisu migracji po utracie ważności certyfikatu i upływie 365-dniowego okresu prolongaty. W takiej sytuacji użytkownicy muszą odinstalować istniejącą wersję przed zainstalowaniem wersji zaktualizowanej.

  • 365-dniowy okres karencji dotyczy tylko aplikacji, które w przestrzeni nazw deskryptora mają określone środowisko AIR w wersji 1.5.3 lub nowszej.

Ważne: Podpisywanie aktualizacji za pomocą podpisów migracji z certyfikatów, które utraciły ważność, jest rozwiązaniem tymczasowym. Kompleksowe rozwiązanie polega na utworzeniu standardowego obiegu pracy dotyczącego podpisywania, który pozwoli zarządzać wdrażaniem aktualizacji aplikacji. Można na przykład podpisać wszystkie aktualizacje przy użyciu najnowszego certyfikatu i zastosować certyfikat migracji przy użyciu certyfikatu, za pomocą którego podpisano poprzednie aktualizacje (jeśli istniały). Należy wysłać każdą aktualizację na inny adres URL, z którego użytkownicy będą mogli pobrać aplikację. Więcej informacji zawiera rozdział Obieg pracy podpisywania aktualizacji aplikacji .

W tabeli i na rysunku poniżej podsumowano obieg pracy związany z podpisami migracji.

Scenariusz

Stan oryginalnego certyfikatu

Czynność programisty

Czynność użytkownika

Aplikacja oparta na środowisku wykonawczym Adobe AIR w wersji 1.5.3 lub nowszej

Ważny

Opublikowanie najnowszej wersji aplikacji AIR

Nie jest wymagana żadna czynność.

Aplikacja jest uaktualniana automatycznie.

Wygasł. Trwa 365-dniowy okres prolongaty.

Należy podpisać aplikację przy użyciu nowego certyfikatu. Należy zastosować podpis migracji przy użyciu wygasłego certyfikatu.

Nie jest wymagana żadna czynność.

Aplikacja jest uaktualniana automatycznie.

Wygasł. Minął okres prolongaty.

Nie można zastosować podpisu migracji do aktualizacji aplikacji AIR.

Zamiast tego należy opublikować kolejną wersję aplikacji AIR przy użyciu nowego certyfikatu. Użytkownicy mogą zainstalować nową wersję po odinstalowaniu istniejącej wersji aplikacji AIR.

Należy odinstalować bieżącą wersję aplikacji AIR i zainstalować najnowszą.

  • Aplikacja oparta na środowisku wykonawczym Adobe AIR 1.5.2 lub starszym

  • Identyfikator wydawcy w deskryptorze aplikacji zgodny z identyfikatorem wydawcy poprzedniej wersji

Ważny

Należy opublikować najnowszą wersję aplikacji AIR.

Nie jest wymagana żadna czynność.

Aplikacja jest uaktualniana automatycznie.

Wygasł. Minął okres prolongaty.

Nie można zastosować podpisu migracji do aktualizacji aplikacji AIR.

Zamiast tego należy opublikować kolejną wersję aplikacji AIR przy użyciu nowego certyfikatu. Użytkownicy mogą zainstalować nową wersję po odinstalowaniu istniejącej wersji aplikacji AIR.

Należy odinstalować bieżącą wersję aplikacji AIR i zainstalować najnowszą.

  • Aplikacja oparta na środowisku wykonawczym Adobe AIR 1.5.2 lub starszym

  • Identyfikator wydawcy w deskryptorze aplikacji niezgodny z identyfikatorem wydawcy poprzedniej wersji

Dowolny

Należy podpisać aplikację AIR przy użyciu ważnego certyfikatu i opublikować najnowszą wersję.

Należy odinstalować bieżącą wersję aplikacji AIR i zainstalować najnowszą.

Obieg pracy podpisywania aktualizacji

Migracja aplikacji AIR w celu użycia nowego certyfikatu

Aby przeprowadzić migrację aplikacji AIR do nowego certyfikatu wraz z aktualizacją aplikacji:

  1. Utwórz aktualizację aplikacji

  2. Spakuj i podpisz plik AIR aktualizacji nowym certyfikatem

  3. Podpisz ponownie plik AIR certyfikatem original , korzystając z polecenia -migrate

Plik AIR podpisany przy użyciu polecenia -migrate może posłużyć do zainstalowania nowej wersji aplikacji, a nie tylko do aktualizacji poprzedniej wersji podpisanej przy użyciu starego certyfikatu.

Uwaga: W przypadku aktualizowania aplikacji opublikowanej dla wersji środowiska AIR wcześniejszej niż 1.5.3 należy określić oryginalny identyfikator wydawcy w deskryptorze aplikacji. W przeciwnym wypadku przed zainstalowaniem aktualizacji użytkownicy aplikacji będą musieli odinstalować wcześniejszą wersję.

Należy użyć polecenia ADT - migrate z poniższą składnią:

adt -migrate SIGNING_OPTIONS air_file_in air_file_out
  • SIGNING_OPTIONS — opcje podpisywania identyfikują klucz prywatny oraz certyfikat służący do podpisywania pliku AIR. Te opcje muszą identyfikować oryginalny certyfikat podpisujący i zostały opisane w rozdziale Opcje podpisywania kodu ADT .

  • air_file_in Plik AIR dla aktualizacji podpisany certyfikatem new .

  • air_file_out Plik AIR do utworzenia.

Uwaga: Nazwy plików używane dla wejściowego i wyjściowego pliku środowiska AIR muszą być różne.

W poniższym przykładzie przedstawiono wywołanie programu ADT z flagą -migrate w celu zastosowania podpisu migracji do zaktualizowanej wersji aplikacji AIR.

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Uwaga: Polecenie -migrate zostało dodane do narzędzia ADT w środowisku AIR 1.1.

Migracja aplikacji AIR z instalatorem natywnym w celu użycia nowego certyfikatu

Aplikacji AIR opublikowanej w formie instalatora natywnego (na przykład aplikacji korzystającej z interfejsu API rozszerzeń natywnych) nie można podpisać przy użyciu polecenia -migrate programu ADT, ponieważ jest to aplikacja natywna przeznaczona dla określonej platformy, a nie plik AIR. W celu przeprowadzenia migracji aplikacji AIR opublikowanej w formie rozszerzenia natywnego należy wykonać następujące czynności:

  1. Utwórz aktualizację aplikacji.

  2. Upewnij się, że znacznik <supportedProfiles> w pliku deskryptora aplikacji (app.xml) zawiera zarówno profil desktop, jak i extendedDesktop (lub usuń znacznik <supportedProfiles> z deskryptora aplikacji).

  3. Spakuj i podpisz aplikację aktualizującą jako plik AIR przy użyciu polecenia -package programu ADT z nowym certyfikatem.

  4. Zastosuj certyfikat migracji do pliku AIR, używając polecenia -migrate programu ADT z oryginalnym certyfikatem (zgodnie z opisem w rozdziale Migracja aplikacji AIR w celu użycia nowego certyfikatu ).

  5. Spakuj plik AIR do instalatora natywnego, używając polecenia -package programu ADT z flagą -target native . Aplikacja jest już podpisana, dzięki czemu w tym kroku nie trzeba podawać certyfikatu podpisu.

Poniższy przykład ilustruje kroki 3–5 tego procesu. Kod wywołuje narzędzie ADT kolejno z poleceniami -package , -migrate i -package , aby spakować zaktualizowaną wersję aplikacji AIR w formie instalatora natywnego.

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

Migracja aplikacji AIR korzystającej z rozszerzenia natywnego w celu użycia nowego certyfikatu

Aplikacji AIR korzystającej z rozszerzenia natywnego nie można podpisać za pomocą polecenia -migrate programu ADT. Nie można też przeprowadzić dla niej procedury migracji aplikacji AIR spakowanej w formie instalatora natywnego, ponieważ nie można opublikować takiej aplikacji jako pośredniego pliku AIR. W celu przeprowadzenia migracji aplikacji AIR korzystającej z rozszerzenia natywnego należy wykonać następujące czynności:

  1. Utwórz aktualizację aplikacji.

  2. Spakuj i podpisz instalator natywny aktualizacji za pomocą polecenia -package programu ADT. Spakuj aplikację przy użyciu nowego certyfikatu i użyj flagi -migrate w celu określenia oryginalnego certyfikatu.

Wywołaj polecenie -package programu ADT z flagą -migrate , korzystając z następującej składni:

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
  • AIR_SIGNING_OPTIONS Opcje podpisywania identyfikują klucz prywatny oraz certyfikat służący do podpisywania pliku AIR. Te opcje muszą identyfikować nowy certyfikat podpisu i zostały opisane w rozdziale Opcje podpisywania kodu ADT .

  • MIGRATION_SIGNING_OPTIONS Opcje podpisywania identyfikują klucz prywatny oraz certyfikat służący do podpisywania pliku AIR. Te opcje muszą identyfikować oryginalny certyfikat podpisu i zostały opisane w rozdziale Opcje podpisywania kodu ADT .

  • Pozostałe opcje dotyczą pakowania aplikacji AIR w formie instalatora natywnego i zostały opisane w rozdziale Polecenie package narzędzia ADT .

Poniższy przykład ilustruje wywołanie programu ADT z poleceniem -package i flagą -migrate w celu spakowania zaktualizowanej wersji aplikacji AIR, która korzysta z rozszerzenia natywnego, a także zastosowania podpisu migracji do aktualizacji.

adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Uwaga: Flaga -migrate polecenia -package jest dostępna w programie ADT w środowisku AIR 3.6 lub nowszym.