如何签署Firefox扩展?
我已经为Firefox开发了几个扩展,我很恼火,因为很难对扩展进行签名。当一个扩展没有签名时,它在安装时会说“Author not verified”,而在我看来这是错误的 我有一个简单的构建脚本,可以从源代码构建我的.xpi文件,我有一个PKZip的许可副本(根据许多教程,构建Firefox所需的签名xpi文件需要PKZip),但我还没有找到一种方法来获得一个真正有效的免费/便宜的证书,或者一组实现这一功能的指令 由于我的扩展是免费的,我不想在商业证书上花400美元,但我不介意花50美元左右来完成它。我有Linux和Windows两种机器,尽管我的构建脚本目前使用Windows,这将是最方便使用的 你是怎么解决的?我需要做什么才能在构建扩展时自动安全地对其进行签名 编辑:我很欣赏谷歌的点击率,但他们提供的步骤还不够完整,无法真正获得有效的证书。我得到的感觉让我想起了这个经典:如何签署Firefox扩展?,firefox,build-automation,certificate,code-signing,Firefox,Build Automation,Certificate,Code Signing,我已经为Firefox开发了几个扩展,我很恼火,因为很难对扩展进行签名。当一个扩展没有签名时,它在安装时会说“Author not verified”,而在我看来这是错误的 我有一个简单的构建脚本,可以从源代码构建我的.xpi文件,我有一个PKZip的许可副本(根据许多教程,构建Firefox所需的签名xpi文件需要PKZip),但我还没有找到一种方法来获得一个真正有效的免费/便宜的证书,或者一组实现这一功能的指令 由于我的扩展是免费的,我不想在商业证书上花400美元,但我不介意花50美元左右来
我在谷歌上发现的是:其中说明: 如果你不想拍广告 或者买不起证书, 可以为您提供免费的 证书,但将其转换为 代码签名证书需要一些 额外的工作,我已经详细说明了 我不能说我已经试过了。 上面写着: 最便宜的普遍支持 (Mozilla、Java、Microsoft)证书 似乎是科摩多即时SSL 提供。你可以得到一个免费的 开放源码开发人员证书 来自Unizeto Certum,但他们的根 证书仅在Mozilla中存在 Firefox和Opera(不是Java或 微软)
是的,不幸的是,XPI签名是非常不文明的。我建议搜索/发布到mozilla新闻组(dev extensions,project owners@mozdev,irc.mozilla.org),并尝试与使其工作的人联系。我使用了comodo证书来签署XPIs。这是当时最便宜的选择 我已经写了一些关于t和如何使用java命令行工具的文章 我的工具大大简化了过程,并且可以集成到构建系统中
我已删除该工具,因为它不再适用于FF4或更高版本。如果有人想修复,可以在上找到源代码。Tucows以每年75美元的价格出售Comodo代码签名证书,这和我所说的一样便宜(,“代码签名证书”部分)。这对我来说还是太多的钱,所以我没有尝试它的工作原理。不是说我可以尝试,从我可以告诉你需要是一个注册的组织购买一个科摩多证书
对于Ascertia来说,获取证书很容易()-但是这样的证书和自颁发的证书一样毫无价值,因为在看到效果之前,您需要导入其根证书。避免使用GoDaddy代码签名证书,因为Firefox默认不提供必要的中间CA证书。 C=US,ST=Arizona,L=Scottsdale,O=GoDaddy.com\,Inc.,OU=Daddy安全认证机构,序列号=07969287' 如果您使用它进行签名,您的用户将收到签名错误
e、 g.无法验证签名-260如果您有一个开源项目,您可以从Unizeto获得免费的代码签名证书 详细描述了获取证书本身的步骤 获得证书后,请执行以下操作:
- 从浏览器获取私钥(例如,从密钥链下载为.p12-不要设置密码),并通过
openssl pkcs12-in key.p12-nodes-out private.key-nocerts将其转换为PEM格式
- 打开从Unicert下载的.pem文件,在其下方添加私钥,并在私钥下方添加Certum Level III CA的
公钥,如下所示:
----开始证书----- [您的Certum证书] -----结束证书----- -----开始RSA私钥----- [刚从密钥链中的.p12文件转换的私钥] -----结束RSA私钥----- -----开始证书----- [您刚刚下载的Certum三级CA公钥] -----结束证书-----
- 将此文件保存为带有密钥和ca.pem的证书
- 使用
pip安装进行安装https://github.com/nmaier/xpisign.py/zipball/master
- 使用密钥和ca.pem unsigned.xpi signed.xpi运行
xpisign-k cert\u
- 将
拖放到Firefox中,您应该会看到作者姓名,在此之前,在扩展名旁边有一条(作者未经验证)消息signed.xpi