Assinatura de uma versão atualizada de um aplicativo do AIR

A cada vez que você criar uma versão atualizada de um aplicativo AIR existente, o aplicativo atualizado é assinado. Na melhor das hipóteses, você pode assinar a versão atualizada com o mesmo certificado usado para assinar a versão anterior. Neste caso, a assinatura é exatamente a mesma usada no aplicativo pela primeira vez.

Se o certificado usado para assinar a versão anterior do aplicativo expirou e foi renovado ou substituído, é possível usar o certificado renovado ou novo (substituição) para assinar a versão atualizada. Para isto, assine o aplicativo com o novo certificado e aplique uma assinatura de migração usando o certificado original. A assinatura de migração confirma que o proprietário do certificado original publicou a atualização.

Antes de aplicar uma assinatura de migração, considere os seguintes pontos:

  • Para aplicar uma assinatura de migração, o certificado original deve ser válido ou estar expirado por no máximo 365 dias. Esse período é denominado como o "período de prorrogação" e a duração pode mudar no futuro.

    Nota: Até o AIR 2.6, o período de prorrogação era de 180 dias.
  • Você não pode aplicar uma assinatura de migração após o certificado expirar e transcorrerem os 365 dias do período de prorrogação. Neste caso, os usuários devem desinstalar a versão existente antes da instalação da versão atualizada.

  • O período de tolerância de 365 dias somente se aplica a aplicativos que especificam o AIR versão 1.5.3 ou superior no namespace do descritor do aplicativo.

Importante: As atualizações de assinatura com assinaturas de migração de certificados expirados é uma solução temporária. Para uma solução global, crie um fluxo de trabalho de assinatura padronizada para gerenciar a implementação de atualizações de aplicativos. Por exemplo, assine cada atualização com o certificado mais recente e aplique um certificado de migração utilizando o certificado usado para assinar a atualização anterior (se aplicável). Carregue cada atualização em seu próprio URL para que os usuários possam baixar o aplicativo. Para obter mais informações, consulte Marcando o fluxo de trabalho para atualizações do aplicativo .

A tabela e a figura a seguir resumem o fluxo de trabalho para assinaturas de migração:

Cenário

Estado do certificado original

Ação do desenvolvedor

Ação do usuário

Aplicativo com base em runtime do Adobe AIR versão 1.5.3 ou superior

Válido

Publicar a versão mais recente do aplicativo do AIR

Nenhuma ação necessária

Aplicativo atualizado automaticamente

Expirou, mas está no período de tolerância de 365 dias

Assine o aplicativo com o novo certificado. Aplique uma assinatura de migração usando o certificado expirado.

Nenhuma ação necessária

Aplicativo atualizado automaticamente

Expirado e fora do período de prorrogação

Você não pode aplicar a assinatura de migração para a atualização do aplicativo do AIR.

Em vez disso, você deve publicar uma outra versão do aplicativo do AIR usando um novo certificado. Os usuários podem instalar a nova versão depois de desinstalar a existente do aplicativo do AIR.

Desinstale a versão atual do aplicativo do AIR e instale a versão mais recente

  • Aplicativo com base em runtime do Adobe AIR versão 1.5.2 ou inferior

  • O ID de editor no descritor do aplicativo da atualização corresponde ao ID de editor da versão anterior

Válido

Publicar a versão mais recente do aplicativo do AIR

Nenhuma ação necessária

Aplicativo atualizado automaticamente

Expirado e fora do período de prorrogação

Você não pode aplicar a assinatura de migração para a atualização do aplicativo do AIR.

Em vez disso, você deve publicar uma outra versão do aplicativo do AIR usando um novo certificado. Os usuários podem instalar a nova versão depois de desinstalar a existente do aplicativo do AIR.

Desinstale a versão atual do aplicativo do AIR e instale a versão mais recente

  • Aplicativo com base em runtime do Adobe AIR versão 1.5.2 ou inferior

  • O ID de editor no descritor do aplicativo da atualização não corresponde ao ID de editor da versão anterior

Qualquer elemento

Assine o aplicativo AIR usando um certificado válido e publique a versão mais recente do aplicativo AIR

Desinstale a versão atual do aplicativo do AIR e instale a versão mais recente

Marcando o fluxo de trabalho para atualizações

Migração de um aplicativo do AIR para usar um novo certificado

Para migrar um aplicativo AIR para um novo certificado ao atualizar um aplicativo:

  1. Crie uma atualização para o seu aplicativo

  2. Empacote e assine o arquivo de atualização do AIR com o novo certificado

  3. Assine o arquivo AIR novamente com o certificado original usando o comando -migrate

Um arquivo AIR assinado com o comando -migrate também pode ser usado para instalar uma nova versão do aplicativo, assim como ser usado para atualizar qualquer versão anterior assinada com o certificado antigo.

Nota: Ao atualizar um aplicativo publicado para uma versão do AIR anterior a 1.5.3, especifique o ID de editor original no descritor do aplicativo. De outra forma, os usuários de seu aplicativo devem desinstalar a versão anterior, antes de instalar a atualização.

Use o comando do ADT - migrate com a seguinte sintaxe:

adt -migrate SIGNING_OPTIONS air_file_in air_file_out
  • SIGNING_OPTIONS As opções de assinatura identificam a chave privada e o certificado com o qual o arquivo AIR será assinado. Essas opções devem identificar o certificado de assinatura original e são descritas em Opções de assinatura de código ADT .

  • air_file_in O arquivo AIR para a atualização, assinado com o certificado novo .

  • air_file_out O arquivo AIR a ser criado.

Nota: Os nomes de arquivos usados para os arquivos do AIR de entrada e de saída devem ser diferentes.

O exemplo a seguir demonstra uma chamada ADT com o sinalizador -migrate para aplicar uma assinatura de migração a uma versão atualizada de um aplicativo AIR:

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Nota: O comando -migrate foi adicionado ao ADT na versão AIR 1.1.

Migrar um instalador nativo do aplicativo AIR para usar um novo certificado

Um aplicativo AIR que é publicado como um instalador nativo (por exemplo, um aplicativo que usa a extensão da api nativa) não pode ser assinado usando um comando ADT -migrate , pois ele é um aplicativo de plataforma nativa específica, não um arquivo .air. Em vez disso, para migrar um aplicativo AIR que é publicado como uma extensão nativa para um novo certificado:

  1. Crie uma atualização para o seu aplicativo.

  2. Certifique-se de que a marca <supportedProfiles> do arquivo do descritor (app.xml) do seu aplicativo inclua os perfis desktop profile e extendedDesktop (ou remova a marca <supportedProfiles> do descritor do aplicativo).

  3. Empacote e assine o aplicativo atualizado como um arquivo .air usando o comando ADT -package com o novo certificado.

  4. Aplique o certificado de migração ao arquivo .air usando o comando ADT -migrate com o certificado original (como descrito anteriormente em Migração de um aplicativo do AIR para usar um novo certificado ).

  5. Empacote o arquivo .air em um instalador nativo usando o comando ADT -package com o sinalizador -target native . Como o aplicativo já está assinado, você não precisa especificar um certificado de assinatura como parte desta etapa.

O exemplo a seguir demonstra as etapas 3 a 5 deste processo. O código chama o ADT com os comandos -package , -migrate e novamente com o comando -package para empacotar uma versão atualizada do aplicativo AIR como um instalador 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

Migrar um aplicativo AIR que usa uma extensão nativa para usar um novo certificado

Um aplicativo AIR que usa uma extensão nativa não pode ser assinado usando o comando ADT -migrate . Ele também não pode ser migrado usando o procedimento de migração de um aplicativo AIR com instalador nativo, pois ele não pode ser publicado como um arquivo .air intermediário. Em vez disso, para migrar um aplicativo AIR que usa uma extensão nativa para um novo certificado:

  1. Crie uma atualização para o seu aplicativo

  2. Empacote e assine o instalador nativo de atualização usando o comando ADT -package . Empacote o aplicativo com o novo certificado e inclua o sinalizador -migrate especificando o certificado original .

Use a sintaxe a seguir para chamar o comando ADT -package com o sinalizador - migrate :

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
  • AIR_SIGNING_OPTIONS As opções de assinatura identificam a chave e o certificado privados com os quais o arquivo AIR é assinado. Estas opções identificam o novo certificado de assinatura e são descritas nas Opções de assinatura de código ADT .

  • MIGRATION_SIGNING_OPTIONS As opções de assinatura identificam a chave e o certificado privados com os quais o arquivo AIR é assinado. Estas opções identificam o certificado de assinatura original e são descritos nas Opções de assinatura de código ADT .

  • As outras opções são as mesmas usadas para empacotar um instalador nativo do aplicativo AIR e são descritas no Comando package do ADT .

O exemplo a seguir demonstra a chamada do ADT com o comando -package e o sinalizador -migrate para empacotar uma versão atualizada de um aplicativo AIR e usa uma extensão nativa e aplicar uma assinatura de migração à atualização.

adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Nota: O sinalizador -migrate do comando -package está disponível no ADT no AIR 3.6 e posterior.