对 AIR 应用程序的更新版本进行签名

您可以使用新证书或重续证书对现有 AIR 应用程序的更新版本进行签名。使用 ADT -migrate 命令将证书迁移签名应用于更新,如后面所述。

使用您的 AIR 应用程序的原始证书应用迁移签名。迁移签名会验证原始证书所有者是否已发布更新。

在应用迁移签名前,请考虑以下事项:

  • 若要应用迁移签名,原始证书必须仍然有效或者是在过去的 180 天内过期的。此期间称为“宽限期”,未来有可能变更该期间持续时间。

  • 您不能在证书过期、并且已经超过 180 天宽限期后应用迁移签名。必须先卸载现有版本,才能安装更新版本。

  • 180 天宽限期仅适用于在应用程序描述符命名空间中指定 AIR 1.5.3 版或更高版本的应用程序。

重要说明: 利用过期证书中的迁移签名对更新进行签名是一个临时解决方案。若要创建一个全面解决方案,请创建一个标准化的签名工作流程来管理应用程序更新的部署。将具有最新证书的每个更新上载到单独的 URL,用户可以在此处部署应用程序。使用最新的证书在此部署 URL 处对每个新的更新进行签名,并且使用用于对上一更新进行签名的证书应用迁移。有关更多信息,请参阅对应用程序更新工作流程进行签名

下表总结了迁移签名的工作流程:

应用场景

证书/发布者 ID 的状态

开发人员操作

用户操作

  • 基于 Adobe AIR 运行时版本 1.5.3 或更高版本的应用程序

  • 证书 C1

证书的状态

   

有效

发布 AIR 应用程序的最新版本

无需任何操作

应用程序会自动升级

已过期并且超出宽限期

您不能将迁移签名应用于 AIR 应用程序更新。

而是必须使用新证书发布 AIR 应用程序的另一个版本。在卸载 AIR 应用程序的现有版本后,用户可以安装该程序的新版本。

卸载 AIR 应用程序的当前版本,然后安装最新版本

已过期,但在 180 天宽限期内

上述列中详细说明的操作之一

无需任何操作

应用程序会自动升级

  • 基于 Adobe AIR 运行时版本 1.5.2 或更低版本的应用程序

  • 证书 C1

应用程序描述符中的原始发布者 ID

   

可用。与证书 C1 相关的下列详细信息适用:

有效

发布 AIR 应用程序的最新版本

无需任何操作

应用程序会自动升级

已过期并且超出宽限期

您不能将迁移签名应用于 AIR 应用程序更新。

而是必须使用新证书发布 AIR 应用程序的另一个版本。在卸载 AIR 应用程序的现有版本后,用户可以安装该程序的新版本。

卸载 AIR 应用程序的当前版本,然后安装最新版本

不可用

 

发布 AIR 应用程序的最新版本

卸载 AIR 应用程序的当前版本,然后安装最新版本

适用于更新的签名工作流程
迁移应用程序:

  1. 创建应用程序更新

  2. 将 AIR 更新文件打包并使用证书对它进行签名

  3. 使用原始证书和 -migrate 命令再次对 AIR 文件签名

使用 -migrate 命令签名的 AIR 文件可以用于安装应用程序的最新版本。该文件还可以用于更新使用旧证书签名的以前版本。

注: 更新为早于 AIR 1.5.3 的版本发布的应用程序时,请在应用程序描述符中指定原始发布者 ID。否则,应用程序的用户必须先卸载早期版本才能安装更新版本。

迁移 AIR 应用程序以便使用新的证书

 采用以下语法使用 ADT -migrate 命令:
adt -migrate SIGNING_OPTIONS air_file_in air_file_out

SIGNING_OPTIONS 该签名选项标识用于对 AIR 文件签名的私钥和证书。这些选项必须标识原始签名证书,ADT 代码签名选项介绍了这些选项。

air_file_in 使用证书签名的要更新的 AIR 文件。

air_file_out 要创建的 AIR 文件。

注: 用于输入和输出 AIR 文件的文件名必须是不同的。

ADT 示例

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air

有关更多信息,请参阅 ADT sign 命令

注: 在 AIR 1.1 发行版中,已将 -migrate 命令添加到 ADT。