我正在将基于 SDK 的 Firefox 扩展转换为 WebExtensions,并且遇到了更新扩展的问题。当前的扩展托管在我自己的域(这是一个 HTTP 域)上,以及更新.rdf file.
现在,对于基于 SDK 的附加组件,只要使用以下协议对更新清单进行签名,就可以通过 HTTP 进行更新:McCoy https://developer.mozilla.org/en-US/docs/Mozilla/Projects/McCoy工具和更新文件的有效哈希值已在清单中提供。在此之上,安装.rdf将保存用于签名的密钥的公钥部分更新.rdf.
似乎没有选项可以使用网络扩展来执行此操作(没有公钥的清单条目,也没有更新清单(.json) 签名条目)。
这是否意味着 Firefox 将只允许自托管扩展通过 HTTPS 进行更新?这将如何影响当前托管在 HTTP 域上的基于 SDK 的扩展?他们能够收到(至少一项)更新吗?
正如您似乎已经确定的那样,更新.rdf基于 WebExtensions 的附加组件必须通过 HTTPS 而不是 HTTP 提供服务。 update.rdf 文件的 URL 必须是 HTTPS。这的文档update_url财产在清单.json applications key https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/applications在这一点上是明确的:
-
update_url
是一个链接到附加更新清单 https://developer.mozilla.org/en-US/Add-ons/Updates。请注意,链接必须以“https”开头。此密钥用于您自己管理扩展更新(即不通过 AMO)。
无法使用其他类型的附加组件可用的替代安全方法来提供updateKey https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#updateKey(并签署更新.rdf) in an 安装.rdf https://developer.mozilla.org/en-US/Add-ons/Install_Manifests扩展名中包含的文件。
基于附加 SDK 的扩展以及其他类型的非 WebExtensions 附加组件将继续能够接收其更新.rdf通过 HTTP 以与他们一直在做的相同的方式进行。
如果您的问题是将附加组件从基于附加 SDK 的附加组件转换为基于 WebExtensions 的附加组件,那么您将需要对该扩展进行更新,以更改提供更新的 URL。这可以是过渡到 WebExtensions 之前的某个版本,也可以是同时。不管怎样,它只是附加组件的新版本(用更新.rdf通过 HTTP 提供服务并进行适当签名)。该新版本将有一个update_url https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/applications(网络扩展)或updateURL https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#updateURL(所有其他类型)其中 URL 使用 HTTPS 方案。所有后续更新.rdf然后文件将通过 HTTPS 提供。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)