我正在创建一个网站,该网站具有下载我的chrome CRX应用程序的链接以将其安装到chrome上,问题是,每当我尝试下载它时,都会给我一个错误,指出:“程序包无效:'CRX_REQUESTED_PROOF_MISSING” 。 我该如何解决这个问题?
注意:当我使用开发人员工具安装应用时,我的应用正在运行。
我的manifest.json:
{"name":"MY_APP_NAME",
"version":"0.0.1",
"manifest_version":2,
"minimum_chrome_version":"37.0.0.0",
"permissions":["webview","power","storage","videoCapture","geolocation","pointerLock","system.display",{"fileSystem":["write","retainEntries","directory"]},"accessibilityFeatures.read","accessibilityFeatures.modify"],"app":{"background":{"scripts":["js/foam.js","js/cab.js","config.js","background_main.js"]}},
"default_locale":"en",
"icons":{"128":"img/128.png"}}
答案 0 :(得分:1)
我目前也遇到此问题,并试图找到解决方法。不幸的是,由于Chrome浏览器的安全政策,插件需要先通过其网上商店才能获得多种级别的“证明”,然后chrome才将其接受为合法扩展。到目前为止,似乎使其正常工作的唯一方法是将其作为未打包的扩展程序加载,通过网络商店或通过组策略强制安装。
链接和参考:
https://developer.chrome.com/apps/external_extensions
https://support.google.com/chrome/a/answer/6306504?hl=en
https://github.com/oncletom/crx/issues/109
根据文档,Chrome不允许从其商店外部安装CRX,除非是在开发人员模式下或通过企业政策:https://developer.chrome.com/extensions/hosting_changes或在Linux上安装(在linux_hosting的开头提到,我在上一篇文章中已进行了链接评论)。 因此,这可能是一个原因,因为只有在缺少公钥或缺少“必需密钥”的情况下,才在其来源中返回“证明丢失”错误: https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L178 “必需的密钥”似乎是他们的预定义密钥: https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L134 和 https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L42 我猜这是Chrome Web Store密钥的公开部分吗?没有简单甚至“实用”的方法来创建与密钥匹配的签名。 因此,要么是缺少的Chrome Web签名密钥,要么是我们使用开发人员的密钥创建签名的方式有问题。
如果出于政策原因无法将扩展程序上传到Chrome网上应用店,该如何分发?
这些更改仅在Windows稳定版和Beta通道上有效。想要获取未在Chrome网上应用店中托管的扩展程序的用户可以在Windows中的Chrome开发人员/ canary频道或其他操作系统中的所有Chrome频道中进行操作。
此更改后,扩展支持哪些部署选项?
除了用户从Chrome网上应用店安装扩展程序之外,还将支持以下部署选项:
对于OSX和Linux,可以通过首选项JSON文件安装扩展。 对于Windows,可以通过Windows注册表安装扩展。在Windows注册表中,确保update_url注册表项指向以下URL:https://clients2.google.com/service/update2/crx。通过路径注册表项进行的本地.crx安装已被弃用。请注意,此部署选项仅适用于Chrome Web Store托管的扩展,并且update_url不能指向https://clients2.google.com/service/update2/crx以外的任何其他主机。 对于企业版,我们将继续支持组策略以安装扩展程序,而不管扩展程序在何处托管。请注意,用户计算机必须加入域才能使GPO策略推送生效。