更新:解决了一个部分,但没有解决其他部分
我现在正在更新CRX(它没有重建)。
但,Chrome不会通过https网址接受XML或CRX。
我相信#2是因为它是一个自签名证书。有谁知道这有什么办法吗? (这纯粹是为了开发,因此在内部托管)
原始帖子:
我创建了一个托管扩展程序,该扩展程序托管在我的内部网站上,但是通过从桌面拖动来添加到Chrome(因为Chrome不允许通过外部网站安装打包扩展程序 - 请参阅此处:After adding ExtensionInstallSources preference with my URL to Chrome Preferences, still won't allow installing ".crx" packaged app) 。
清单将update_url
设置为我网站上的XML文件。该XML文件具有updatecheck codebase='...'
下的crx文件集的URL。这两个文件都存在于网站上并且是可以找到的。我还在XML文件和2.0.0.2
中将版本号从2.0.0.2
更新为manifest.json
。我还对扩展名的index.html文件进行了更改。
我检查了appid
,它在XML文件和Chrome中都是一样的。
尽管点击“立即更新扩展程序”按钮大约50次,并等待10分钟,但它不会更新。
注意:我做了内部ip 192.168.1.108的别名,其中该站点作为myinternal.fake
托管在我的主机文件中,但这适用于chrome和firefox,因此我不认为这是问题< / em>的
更新XML文件(位于:https://myinternal.fake/updates/helloworld.xml)
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='akchdaojnpiglpjeiamjpacbkppcgbgj'>
<updatecheck codebase='https://myinternal.fake/helloworld.crx' version='2.0.0.2' prodversionmin='23' />
</app>
</gupdate>
的manifest.json
{
"manifest_version": 2,
"name": "Hello World",
"version": "2.0.0.2",
"minimum_chrome_version": "23",
"update_url": "https://myinternal.fake/updates/helloworld.xml",
"icons":
{
"16": "icon_16.png",
"128": "icon_128.png"
},
"app":
{
"background":
{
"scripts":
[
"main.js"
]
}
}
}
编辑:我还检查了标题是Chrome可接受的标题(根据这个:http://developer.chrome.com/dev/extensions/hosting.html)。它将CRX文件作为“text / plain”发送,并且不发送标题X-Content-Type-Options: nosniff
,因此它应该有效。
此外,当我从https
更改为http
时,现在当我点击“立即更新扩展程序”时,扩展程序会暂时消失,表示它现在正在读取XML,但仍然不接受更新!
答案 0 :(得分:3)
问题在于自签名证书和Chrome。 Chrome不接受自签名证书的扩展更新,除非它们是“已接受”的权限。这些步骤将使其有效:
请按照以下步骤操作:https://stackoverflow.com/a/15076602/857025导出您的证书,然后将其作为权限导入
关闭Chrome
重新启动Chrome
如果已打开,则关闭扩展程序窗口
通过“chrome:// extensions”重新打开,然后点击“立即更新扩展程序”
然后应该更新位于自签名https连接上的扩展程序。
更新这不是一个完美的解决方案,因为Chrome在接受自签名证书方面似乎有点不稳定。它会随机停止查看更新。如果我切换回使用常规http(对于update_url和CRX的url),每次都会发生更新。
我查了一下,我的证书仍然是一个值得信赖的权威,但Chrome突然停止识别更新,所以一定有问题。
答案 1 :(得分:1)
Google停止支持更新Chrome网站外部托管的扩展程序:http://blog.chromium.org/2013/11/protecting-windows-users-from-malicious.html