我正在创建一个网站,该网站可以下载我的chrome应用程序,将其安装在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"}}发布于 2020-01-23 11:51:43
我目前也有这个问题,并试图找到解决办法。不幸的是,由于chrome的安全政策,在chrome将其作为合法的扩展之前,插件需要经过他们的网络商店才能有多个级别的“证明”。到目前为止,让它工作的唯一方法似乎是加载它作为一个未打包的扩展,通过网络商店,或强制通过组策略安装它。
链接和参考文献:
https://support.google.com/chrome/a/answer/6306504?hl=en
https://github.com/oncletom/crx/issues/109
根据文档,Chrome不允许在商店外安装CRX,除非在开发人员模式下或通过企业策略:changes或Linux (在我之前的评论中链接的linux_hosting i的开头提到过)。所以这可能是一个原因,因为在它们的源代码中,只有当公钥丢失或“必需密钥”丢失时才返回“证据丢失”错误:verifier.cc#L178“必需密钥”似乎是他们的预定义密钥:verifier.cc#L134和verifier.cc#L42 --我猜这是Chrome密钥的公共部分?没有一种简单甚至“实用”的方法来创建与他们的密钥相匹配的签名。所以,要么是缺少Chrome签名密钥,要么是我们使用开发人员的密钥创建签名的方式出了问题。
如果由于策略原因无法将扩展上传到Chrome,如何分发我的扩展?
这些更改仅在Windows稳定和beta通道上有效。想要获得不在Chrome上托管的扩展的用户可以在Windows中的Chrome /金丝雀通道或其他操作系统中的所有Chrome通道上获得扩展。
在此更改之后,支持哪些扩展部署选项?
除了用户安装Chrome Web Store的扩展之外,还将支持以下部署选项:
对于OSX和Linux,可以通过preferences JSON文件安装扩展。对于Windows,可以通过Windows注册表安装扩展。在Windows注册表中,确保update_url注册表键指向以下URL:https://clients2.google.com/service/update2/crx。不推荐通过路径注册表项安装本地.crx。请注意,此部署选项仅适用于Chrome托管的扩展,而且update_url不能指向除https://clients2.google.com/service/update2/crx之外的任何其他主机。对于Enterprise,我们将继续支持组策略来安装扩展,而不管扩展托管在哪里。请注意,用户的机器必须加入域,以使GPO策略推送有效。
https://stackoverflow.com/questions/57014116
复制相似问题