2013-02-23 54 views
2

我需要签署本机安装程序的Adobe AIR应用程序。现在我只有Windows版本,但很快我会将它移植到其他操作系统,包括移动操作系统。我应该为Adobe AIR应用程序获取哪些代码签名证书(.exe,.dmg,.deb,.rpm)

我的查询是我是否需要为每一个获得单独的代码签名证书还是足够?还有32位和64位的问题吗?

Verisign已分别为Windows(.exe)和Adobe AIR(01​​和.airi)分类证书。我应该得到哪一个?

回答

2

销售代码签名证书的CA始终假装您需要不同的证书来签署不同类型的应用程序。这基本上是一个骗局。大多数时候证书完全一样,只有文件格式可能不同。即使您的代码签名工具不支持文件格式,也可以在不同格式之间进行转换。所以基本上你购买哪种证书并不重要。

如果您将AIR应用程序与捕捉运行时打包在一起,则可以使用adt工具简单地使用自签名证书。以后只需签署使用adt和您的安装程序创建的可执行文件就非常重要。如果您直接使用adt创建本机安装程序,请使用代码签名选项提供您的证书。

在Windows下,如果要使用捕获运行时进行打包,则应使用Microsoft的signtool实用程序来签署应用程序的.exe文件和安装程序。所以我会选择Windows的代码签名证书。但正如我所说,这并不重要(并且有比Verisign更便宜的选项)。

在Mac OS X(“Gatekeeper”)下,情况稍有不同。您只能使用Apple颁发的证书。您必须注册“Mac Developer Program”(每年99美元)才能获得OS X的代码签名证书。如果您使用Captive运行时,请使用codesign实用程序对使用adt创建的应用程序包进行签名。如果您创建.pkg安装程序,请使用productbuild工具的--sign选项。 iOS应用程序有一个类似的“iOS开发人员计划”。

在Linux下,您不会使用CA颁发的证书对软件包进行签名。您只需使用您可以免费创建的GPG密钥签名即可。您必须发布您的公共GPG密钥,以便您的客户可以确保您的软件包有效。

对于Android应用程序,您可以简单地使用自签名证书AFAIK。

32位和64位应用程序的签名方式完全相同。你不需要单独的证书。但adt只会创建32位应用程序。

相关问题