如何签上你的Firefox扩展?(How do you sign your Firefox exte

2019-07-01 13:14发布

我已经开发了几个扩展的Firefox,并且很恼火,它是如此难以得到扩展签名。 当分机没有签名,它说“作者未验证”安装时,和我说,只是看起来是错误的。

我有我的构建来源的.xpi文件的简单生成脚本,我必须使用PKZip(其根据的教程建立一个签名XPI文件Firefox的要求是必需的)的许可副本,但我还没有找到一种方式来获得实际工作的免费/廉价证书或一组这样的伎俩指令。

由于我的扩展是免费的,我不想花$ 400商业证书,但我不介意花费$ 50元左右,以完成它。 我有Linux和Windows的机器,虽然我的构建脚本目前使用Windows,这将是最方便使用。

你是如何解决的呢? 我需要做什么做的,他们都建立时自动和安全登录,我的扩展?

编辑:我很欣赏谷歌命中,但他们提供的步骤不是如何真正得到一个可行的证书不够完整。 给我的感觉提醒这个经典的我:

Answer 1:

我已经使用了科摩多证书签署XPIs。 这是当时最便宜的选择。

我已经写上了几个帖子XPI FORMA吨,为HOWTO 签约使用Java命令行工具。

我的工具XPISigner大大简化过程,是可集成到构建系统。

我已经删除的工具,因为它不再与FF4或更高的工作。 来源可以用http://code.google.com/p/xpisigner/如果有人感觉就像固定。



Answer 2:

避免GoDaddy的代码签名证书作为必要的中间CA证书是不能在Firefox默认。 C = US,ST =亚利桑那,L =斯科茨代尔,O = GoDaddy.com \公司,OU = http://certificates.godaddy.com/repository,CN=Go爸爸安全认证机构,SERIALNUMBER = 07969287'

如果你用它签上你的用户会得到与它签约的错误。

例如

  签名无法验证。  -260 



Answer 3:

我发现与谷歌是这样的: http://www.mercille.org/snippets/xpiSigning.php其中规定:

如果你不希望使用商业证书或买不起, Ascertia可以为您提供免费的证书,但把它变成一个代码签名证书需要一些额外的工作,我已经详细的另一页 。

我不能说我已经试过了。 而就http://developer.mozilla.org/en/Signing_a_XPI它说:

最便宜的普遍支持(Mozilla的,Java和微软)证书似乎是科摩即时SSL产品。 你可以从Unizeto Certum开源开发者免费的证书,但他们的根证书只能在Mozilla Firefox和Opera(不是Java或Microsoft)存在。



Answer 4:

是的,XPI签署,是相当不幸untrivial。 我会搜索/发帖建议到Mozilla的新闻组(DEV-扩展,项目业主@ mozdev,irc.mozilla.org),也试图与谁得到它的工作的人取得联系。



Answer 5:

Tucows的销售科摩多代码签名证书为每年$ 75,这是因为它从我可以告诉去(便宜https://author.tucows.com/ ,“代码签名证书”一节)。 这仍然太多钱,我花那么我没有尝试它是如何工作的。 这并不是说我可以尝试,从我可以告诉你需要注册的机构购买了科摩多证书。

至于Ascertia,获得证书是很容易的( http://www.ascertia.com/onlineCA/Issuer/CerIssue.aspx ) -但这样的证书如草芥为自颁发的证书,因为你将需要进口他们的看到效果前根证书。



Answer 6:

如果你有一个开源项目,你可以从Unizeto免费的代码签名证书。

步骤获得本身进行详细说明该证书在这里 。

一旦你的证书,请执行以下操作:

  • 从你的浏览器的私有密钥(如下载它的.p12从你的钥匙链-不要设置密码),并通过转换成PEM格式openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts
  • 打开从Unicert下载您的.pem文件,添加其下你的私钥和Public Key of Certum Level III CA从这里私钥之下,所以它看起来是这样的:

    -----BEGIN CERTIFICATE----- [your certificate from Certum] -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- [the private key you just converted from the .p12 file from your keychain] -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- [the Certum Level III CA public key you just downloaded] -----END CERTIFICATE-----

  • 此文件另存为cert_with_key_and_ca.pem
  • 安装xpisign.py与pip install https://github.com/nmaier/xpisign.py/zipball/master
  • 运行xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • 拖放操作signed.xpi到Firefox,你应该看到之前有一个(作者未验证)消息的作者姓名旁边的扩展名。


文章来源: How do you sign your Firefox extensions?