我需要签署我的Adobe AIR应用程序,这是一个本机安装程序。现在我只有一个Windows版本,但不久我将把它移植到其他操作系统,包括移动操作系统。
我的疑问是我是否需要为每个证书获取单独的代码签名证书或者是否足够? 32位和64位也有问题吗?
Verisign已分别为Windows(.exe
)和Adobe AIR(.air
和.airi
)分类证书。那么我应该获得哪一个?
答案 0 :(得分:2)
销售代码签名证书的CA总是假装您需要不同的证书来签署不同类型的应用程序。这基本上是一个骗局。大多数情况下,证书完全相同,只有文件格式可能不同。即使您的代码签名工具不支持文件格式,也有办法在不同格式之间进行转换。所以基本上你购买的证书并不重要。
如果您使用强制运行时将AIR应用程序打包,则只需使用带有adt
工具的自签名证书即可。之后签署使用adt
和您的安装程序创建的可执行文件非常重要。如果使用adt
直接创建本机安装程序,请使用代码签名选项提供证书。
在Windows下,如果要使用强制运行时打包,则应使用Microsoft的signtool
实用程序对应用程序的.exe
文件和安装程序进行签名。所以我选择Windows的代码签名证书。但正如我所说,这并不重要(并且有比Verisign更便宜的选择)。
在Mac OS X(“Gatekeeper”)下,情况略有不同。您只能使用Apple颁发的证书。您必须注册“Mac Developer Program”(每年99美元)才能获得OS X的代码签名证书。如果您使用强制运行时,请使用adt
使用codesign
签名创建的应用程序包} 效用。如果您创建了.pkg
安装程序,请使用--sign
工具的productbuild
选项。 iOS应用程序有一个类似的“iOS开发者计划”。
在Linux下,您不会使用CA颁发的证书对包进行签名。您只需使用可以免费创建的GPG密钥对其进行签名。您必须发布公共GPG密钥,以便客户确保您的软件包有效。
对于Android应用,您只需使用自签名证书AFAIK。
32位和64位应用程序可以完全相同的方式签名。您不需要单独的证书。但是adt
无论如何都只会创建32位应用程序。