Firefox如何在安装扩展时生成哈希值

时间:2013-11-14 16:26:47

标签: firefox hash firefox-addon firefox-addon-sdk sha

我编写了一些代码,手动获取已从一个Firefox配置文件安装的XPI,然后将xpi设置为完全在不同的配置文件或计算机上手动设置。

所以我在用户配置文件夹中的extensions.sqlite数据库中设置了一切。当我将xpi本身移动到扩展文件夹中时,我甚至可以动态地重命名扩展名。

这是我的问题:当我提取XPI时,有一个名为'harness-options.json'的文件。在该文件中有两个变量docsSHA256和jsSHA256。

这些哈希变量必须以某种方式基于扩展名,但我不确定具体如何。

对于firefox如何生成这些哈希码,有没有人能指出正确的方向?

感谢。

1 个答案:

答案 0 :(得分:1)

Firefox根本不会产生这些哈希值。它是Add-on SDK。 Firefox扩展管理器完全不关心harness-options.json。 SDK加载器依次关注harness-options.json,但目前不对jsSHA256docsSHA256做任何事情。其他工具,例如上传到addons.mozilla.org时运行的验证程序,至少关心jsSHA256

应该注意的是,不使用SDK的附加组件(通常)根本不包含harness-options.json文件。

每个模块jsSHA256将有一个lib/,例如一个用于main.js,依此类推。

当SDK构建XPI时,将从docsSHA256生成main.js的{​​p> README.md。显然,README.md没有打包到XPI中。对于所有其他模块,它显示docsSHA256似乎为空。

有问题的代码位于manifest.py

最后,你不应该使用XPI(除了重新打包解压缩的扩展名)和/或extensions.sqlite。特别是后者并不意味着在外部进行修改。 只需将您的XPI文件放在配置文件的相应extensions/文件夹中,下载启动浏览器时,加载项管理器就会自动将它们选中。