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
|
|
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
|
|
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:
-
Crie uma atualização para o seu aplicativo
-
Empacote e assine o arquivo de atualização do AIR com o
novo
certificado
-
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:
-
Crie uma atualização para o seu aplicativo.
-
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).
-
Empacote e assine o aplicativo atualizado
como um arquivo .air
usando o comando ADT
-package
com o
novo
certificado.
-
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
).
-
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:
-
Crie uma atualização para o seu aplicativo
-
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.
|
|
|