如果用公认的认证机构 (CA) 颁发的证书对 AIR 安装文件进行数字签名,则可以为您的用户提供他们所安装的应用程序未经无意或恶意修改的重要保证,并能证明您的签名者(发行商)身份。在使用受信任的证书或与安装计算机上受信任证书关联的证书对 AIR 安装程序进行签名后,AIR 在安装期间将显示发行商名称:
对 AIR 文件进行签名后,安装文件中将包含一个数字签名。此签名包括程序包的摘要,用于证实 AIR 文件自签名以来未经修改;此签名还包括有关签名证书的信息,用于证实发行商身份。
AIR 使用通过操作系统的证书存储区支持的公钥基础结构 (PKI) 来确定证书是否可信。安装 AIR 应用程序的计算机必须直接信任用于对此 AIR 应用程序进行签名的证书,或者必须信任将该证书链接到受信认证机构的证书链,才能核实发行商信息。
如果 AIR 文件用未链至其中一个受信根证书(通常,这些证书包括所有自签名证书)的证书进行签名,则无法核实发行商信息。虽然 AIR 可以确定 AIR 程序包自签名以来未经修改,但无法知道文件的实际创建者和签名者。
注: 用户可以选择信任自签名证书,这样,用该证书签名的任何 AIR 应用程序就会显示该证书中的公共名称字段的值作为发行商名称。AIR 不为用户提供任何将证书指定为可信证书的方法。必须单独为用户提供证书(不包括私钥),且用户必须使用操作系统提供的某种机制或适当的工具将证书导入系统证书存储区中的正确位置。
关于 AIR 发行商标识符
重要说明: 从 AIR 1.5.3 开始,将弃用发行商 ID,并且不再基于代码签名证书计算发行商 ID。新应用程序不需要并且不应使用发行商 ID。更新现有应用程序时,必须在应用程序描述符文件中指定原始发行商 ID。
在 AIR 1.5.3 之前,AIR 应用程序安装程序在安装 AIR 文件的过程中生成发行商 ID。这是用于对 AIR 文件进行签名的证书的唯一标识符。如果对多个 AIR 应用程序重复使用同一个证书,它们将得到相同的发行商 ID。使用不同的证书(有时甚至使用原始证书的续签实例)对应用程序更新进行签名都会更改发行商 ID。
在 AIR 1.5.3 和更高版本中,发行商 ID 不是由 AIR 分配的。使用 AIR 1.5.3 发布的应用程序可以在应用程序描述符中指定发行商 ID 字符串。只有针对最初为 AIR 1.5.3 之前的版本发布的应用程序发布更新时,才应指定发行商 ID。如果在应用程序描述符中没有指定原始 ID,则新 AIR 包不会被视为现有应用程序的更新。
当发行商 ID 改变时,所有依赖该 ID 的 AIR 功能的行为也会改变。例如,将无法访问现有加密本地存储中的数据,所有创建到应用程序的本地连接的 Flash 或 AIR 实例必须使用连接字符串中的新 ID。在 AIR 1.5.3 或更高版本中,无法更改已安装应用程序的发行商 ID。如果在发布 AIR 包时使用不同的发行商 ID,安装程序会将新包视为不同的应用程序而不是更新。