Cada vez que cree una versión actualizada de una aplicación de AIR existente, debe firmar la aplicación actualizada. Lo más conveniente es usar el certificado que se utilizó para firmar la versión anterior. En ese caso, la firma es como al firmar la aplicación por primera vez.
Si el certificado utilizado para firmar la anterior versión de la aplicación se hubiera renovado o sustituido después de caducar, puede usar el certificado renovado o nuevo (sustitutorio) para firmar la versión actualizada. Para ello, debe firmar la aplicación con el certificado nuevo
y
aplicar una firma de migración usando el certificado original. La firma de migración valida que el propietario del certificado original haya publicado la actualización.
Antes de aplicar una firma de migración, se deben tener en cuenta los siguientes puntos:
-
Para poder aplicar una firma de migración, el certificado original debe ser aún válido o haber caducado en los últimos 365 días. El periodo se denomina "periodo de gracia" y la duración puede cambiar en el futuro.
Nota:
hasta AIR 2.6, el periodo de gracia era de 180 días.
-
No es posible aplicar una firma de migración una vez que caduque el certificado y transcurra el periodo de gracia de 365 días. De ser así, los usuarios tendrán que desinstalar la versión existente antes de instalar la actualizada.
-
El periodo de gracia de 365 días solo se aplica a las aplicaciones que especifican la versión de AIR 1.5.3 o posterior en el espacio de nombres del descriptor de la aplicación.
Importante:
la firma de actualizaciones con firmas de migración a partir de certificados caducados es una solución temporal. Para obtener una solución amplia, cree un flujo de trabajo de firma estandarizado para administrar la implementación de actualizaciones de la aplicación. Por ejemplo, firme cada actualización con el certificado más reciente y aplique un certificado de migración usando el mismo certificado que para firmar la actualización anterior (de ser aplicable). Cargue cada actualización en su propia URL, desde la que los usuarios podrán descargar la aplicación. Para obtener más información, consulte
Flujo de trabajo de firma para actualizaciones de la aplicación
.
En la tabla y la figura siguientes se resume el flujo de trabajo para el uso de firmas de migración:
Escenario
|
Estado del certificado original
|
Acción del desarrollador
|
Acción del usuario
|
Aplicación basada en la versión del motor de ejecución de Adobe AIR 1.5.3 o superior
|
Válido
|
Publicación de la versión más reciente de la aplicación de AIR
|
No se requiere ninguna acción
La aplicación se actualiza automáticamente
|
Caducado pero dentro del periodo de gracia de 365 días
|
Firme la aplicación con el certificado nuevo. Aplique una firma de migración con el certificado caducado.
|
No se requiere ninguna acción
La aplicación se actualiza automáticamente
|
Caducado y no en periodo de gracia
|
No se puede aplicar la firma de migración a la actualización de la aplicación de AIR.
En lugar de ello, debe publicar otra versión de la aplicación de AIR utilizando un nuevo certificado. Los usuarios pueden instalar la nueva versión tras desinstalar su versión existente de la aplicación de AIR.
|
Desinstale la versión actual de la aplicación de AIR e instale la versión más reciente.
|
-
Aplicación basada en la versión del motor de ejecución de Adobe AIR 1.5.2 o anterior
-
El ID de editor en el descriptor de la aplicación de la actualización coincide con el ID de editor de la versión anterior
|
Válido
|
Publicación de la versión más reciente de la aplicación de AIR
|
No se requiere ninguna acción
La aplicación se actualiza automáticamente
|
Caducado y no en periodo de gracia
|
No se puede aplicar la firma de migración a la actualización de la aplicación de AIR.
En lugar de ello, debe publicar otra versión de la aplicación de AIR utilizando un nuevo certificado. Los usuarios pueden instalar la nueva versión tras desinstalar su versión existente de la aplicación de AIR.
|
Desinstale la versión actual de la aplicación de AIR e instale la versión más reciente.
|
-
Aplicación basada en la versión del motor de ejecución de Adobe AIR 1.5.2 o anterior
-
El ID de editor en el descriptor de la aplicación de la actualización
no coincide
con el ID de editor de la versión anterior
|
Cualquiera
|
Firme la aplicación de AIR usando un certificado válido y publique la versión más reciente de la aplicación de AIR
|
Desinstale la versión actual de la aplicación de AIR e instale la versión más reciente.
|
Flujo de trabajo de firma para actualizaciones
Migración de una aplicación de AIR para utilizar un nuevo certificado
Para migrar una aplicación de AIR a un certificado nuevo mientras se actualiza la aplicación:
-
Cree una actualización de la aplicación.
-
Empaquete y firme el archivo de AIR de actualización con el certificado
nuevo
.
-
Vuelva a firmar el archivo de AIR con el certificado
original
utilizando el comando
-migrate
.
También se puede usar un archivo AIR firmado con el comando
-migrate
para instalar una nueva versión de la aplicación, además de para actualizar cualquier versión anterior firmada con el certificado antiguo.
Nota:
al actualizar una aplicación publicada para una versión de AIR anterior a 1.5.3, es necesario especificar el ID de editor original en el descriptor de la aplicación. De lo contrario, los usuarios de la aplicación deben desinstalar la versión anterior antes de la instalar la actualización.
Utilice el comando -
migrate
de ADT con la sintaxis siguiente:
adt -migrate SIGNING_OPTIONS air_file_in air_file_out
-
SIGNING_OPTIONS
Las opciones de firma identifican la clave privada y el certificado con que se firma el archivo de AIR. Estas opciones deben identificar el certificado de firma
original
y se describen en
Opciones de firma de código de ADT
-
air_file_in
El archivo de AIR para la actualización, firmado con el certificado
nuevo
.
-
air_file_out
El archivo de AIR que se va a crear.
Nota:
los nombres de archivo utilizados para los archivos de AIR de entrada y salida deben ser diferentes.
El ejemplo siguiente demuestra una llamada a ADT con el indicador
-migrate
para aplicar una firma de migración a una versión actualizada de una aplicación de AIR:
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Nota:
el comando
-migrate
se añadió a ADT en la versión 1.1 de AIR.
Migración de una aplicación de AIR como instalador nativo para usar un certificado nuevo
Una aplicación de AIR publicada como instalador nativo (por ejemplo, una aplicación con la extensión nativa api) no se puede firmar utilizando el comando
-migrate
de ADT por ser una aplicación nativa específica de plataforma, no un archivo .air. El procedimiento para migrar a un certificado nuevo una aplicación de AIR publicada como extensión nativa es el siguiente:
-
Cree una actualización de la aplicación.
-
Asegúrese de que en el archivo del descriptor de la aplicación (app.xml) la etiqueta
<supportedProfiles>
incluya tanto el perfil de escritorio como el perfil extendedDesktop (o elimine la etiqueta
<supportedProfiles>
del descriptor de la aplicación).
-
Empaquete y firme la aplicación de actualización
como archivo .air
usando el comando
-package
de ADT con el certificado
nuevo
.
-
Aplique el certificado de migración al archivo .air usando el comando
-migrate
de ADT con el certificado
original
(como se ha descrito en
Migración de una aplicación de AIR para utilizar un nuevo certificado
).
-
Empaquete el archivo .air en un instalador nativo usando el comando
-package
de ADT con el indicador
-target native
. No hace falta especificar un certificado de firma en este paso porque la aplicación ya está firmada.
El ejemplo siguiente ilustra los pasos 3-5 de este proceso. El código llama a ADT con el comando
-package
, llama a ADT con el comando
-migrate
y vuelve a llamar a ADT con el comando
-package
para empaquetar una versión actualizada de una aplicación de AIR como 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
Migración de una aplicación de AIR que usa una extensión nativa para usar un nuevo certificado
Una aplicación de AIR que usa una extensión nativa no se puede firmar usando un comando
-migrate
de ADT. Tampoco se puede migrar mediante el procedimiento usado para una aplicación de AIR de instalador nativo, ya que no se puede publicar como archivo .air intermedio. El procedimiento para migrar a un certificado nuevo una aplicación de AIR que usa una extensión nativa es el siguiente:
-
Cree una actualización de la aplicación.
-
Empaquete y firme el instalador nativo de la actualización usando el comando
-package
de ADT. Empaquete la aplicación con el certificado
nuevo
e incluya el indicador
-migrate
especificando el certificado
original
.
Use la siguiente sintaxis para llamar al comando
-package
de ADT con el indicador -
migrate
:
adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
-
AIR_SIGNING_OPTIONS
Las opciones de firma identifican la clave privada y el certificado con que se firma el archivo de AIR. Estas opciones identifican el certificado de firma
nuevo
y se describen en
Opciones de firma de código de ADT
.
-
MIGRATION_SIGNING_OPTIONS
Las opciones de firma identifican la clave privada y el certificado con que se firma el archivo de AIR. Estas opciones identifican el certificado de firma
original
y se describen en
Opciones de firma de código de ADT
.
-
Las otras opciones son las mismas que las usadas para empaquetar una aplicación de AIR como instalador nativo y se describen en
Comando package de ADT
.
El ejemplo siguiente demuestra una llamada a ADT con el comando
-package
y el indicador
-migrate
para empaquetar una versión actualizada de una aplicación de AIR que usa una extensión nativa y aplicar una firma de migración a la actualización:
adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Nota:
El indicador
-migrate
del comando
-package
está disponible en ADT a partir de AIR 3.6.
|
|
|