我已经为Firefox开发了一些扩展程序,我很生气,很难让扩展程序签名。如果某个扩展程序没有签名,则在安装时会显示“作者未经过验证”,而且对我来说只是看起来不对。
我有一个简单的构建脚本,可以从源代码构建我的.xpi文件,而且我有一个PKZip的许可副本(根据许多教程需要构建一个Firefox需要的签名xpi文件),但我没有找不到一种方法可以获得实际可行的免费/廉价证书或一套可以解决问题的指令。
由于我的免费扩展,我不想花400美元购买商业证书,但我不介意花费50美元左右来完成它。我有Linux和Windows机器,虽然我的构建脚本目前使用Windows,但最方便使用。
你是怎么解决这个问题的?在构建扩展程序时,我需要做些什么来自动安全地签名?
编辑:我很欣赏谷歌的点击率,但他们提供的步骤不够完整,无法确定如何获得有效的证书。我的感觉让我想起了这个经典之作:
答案 0 :(得分:4)
避免使用GoDaddy协同设置证书,因为默认情况下,必要的中间CA证书不在Firefox中。 C = US,ST = Arizona,L = Scottsdale,O = GoDaddy.com \,Inc.,OU = http://certificates.godaddy.com/repository,CN=Go Daddy Secure Certification Authority,SERIALNUMBER = 07969287'
如果您使用它进行签名,您的用户将会收到签名错误。
e.g。
SIgning could not be verified. -260
答案 1 :(得分:3)
我在Google上发现的是:http://www.mercille.org/snippets/xpiSigning.php其中声明:
如果你不想要商业广告 证书还是买不起, Ascertia可以免费为您提供 证书,但把它变成了一个 代码签名证书需要一些 额外的工作,我详细介绍了 another page
我不能说我已经尝试过了。 并在http://developer.mozilla.org/en/Signing_a_XPI上说:
最便宜的普遍支持 (Mozilla,Java,Microsoft)证书 似乎是Comodo Instant-SSL 发行。你可以免费获得 开源开发人员证书 来自Unizeto Certum,但他们的根 证书仅存在于Mozilla中 Firefox和Opera(不是Java或 微软)。
答案 2 :(得分:3)
我使用comodo证书签署XPI。这是当时最便宜的选择。
我在XPI Forma上写了几篇帖子,并使用java命令行工具为signing编写了一个howto。
我的工具XPISigner大大简化了流程,并且可以集成到构建系统中。
我删除了该工具,因为它不再适用于FF4或更高版本。如果有人想要修复,可以在http://code.google.com/p/xpisigner/上找到来源。
答案 3 :(得分:1)
是的,不幸的是,XPI签名非常重要。我建议搜索/发布到mozilla新闻组(dev-extensions,项目所有者@ mozdev,irc.mozilla.org),并尝试与让它一起工作的人联系。
答案 4 :(得分:1)
Tucows以每年75美元的价格出售Comodo代码签名证书,这与我所说的https://author.tucows.com/,“代码签名证书”部分一样便宜。这对我来说仍然是太多钱,所以我没有尝试它是如何工作的。不是我可以尝试,从我可以告诉你需要成为一个注册组织购买Comodo证书。
至于Ascertia,获取证书很容易(http://www.ascertia.com/onlineCA/Issuer/CerIssue.aspx) - 但这样的证书与自发证书一样毫无价值,因为您需要在看到效果之前导入其根证书。
答案 5 :(得分:1)
如果您有一个开源项目,您可以从Unizeto获得免费的代码签名证书。
详细描述了获取证书本身的步骤here。
获得证书后,请执行以下操作:
openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts
将其转换为PEM格式打开您从Unicert下载的.pem文件,在其下方添加私钥,以及私钥下方here的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
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,您应该看到作者姓名在扩展名旁边有(作者未验证)消息之前的位置。