【问题标题】:Chrome WebExtension - Private Store and Enterprise EnvironmentChrome WebExtension - 私人商店和企业环境
【发布时间】:2019-04-19 12:19:00
【问题描述】:


我正在尝试在私人商店中发布 Chrome 扩展并使用组策略传播它。
为此,我使用了以下参考资料:

我 100% 确定 GPO 配置正确(如果我使用相同的 GPO 传播在 Chrome WebStore 上发布的扩展程序,它可以工作)。
不幸的是,我的私人扩展(Configure the list of force-installed apps and extension 部分中的行:[my_extension_id];[my_xml_url])和示例扩展(行:bcanfnleljfidkjhhfknjjiicdonddad;https://sites.google.com/site/pushcrx/privatewebstore/2hrtimer.xml)都没有安装在域控制的机器中。
我的问题是:我做错了什么还是谷歌浏览器政策发生了变化,上面的例子已经过时了?
非常感谢,
丹尼尔

【问题讨论】:

  • 首先检查chrome://policy。然后,您可能希望在 Chrome 中启用日志记录并挖掘日志。
  • 谢谢,我已经能够处理所有事情了:我没有找到一个在线指南,其中一步一步解释每件事,所以我要写一个解释如何创建的答案,发布和更新私人商店扩展。

标签: google-chrome google-chrome-extension enterprise group-policy


【解决方案1】:

要在 Google Chrome 商店之外发布、部署和更新 Chrome 扩展程序,您必须遵循以下指南。

1.建筑
首先,有必要定义 CRX 和 XML 名称以及它们将被部署的 url。
关于这个例子的问题:

  • CRX 名称将是 myCRX.crx,它将部署在 URL https://my.server/resources/myCRX.crx
  • XML 名称将是 myXML.xml,它将部署在 URL https://my.server/resources/myXML.xml

2。 JSON 清单
正如this 链接中所指定的,update_url(可以找到更新 XML 的位置)必须包含在 JSON 清单中:为此,必须将以下行插入 JSON 文件。

{
    [...],
    "update_url": "https://my.server/resources/myXML.xml",
    [...]
}

3. CRX 和私钥创建
可以按照this 指南创建 CRX 和 PEM。
在该过程结束时,将创建两个文件(一个 CRX 和一个 PEM):之后需要将它们分别重命名为 myCRX.crxmyPEM.pem

4.公钥提取
可以通过在 PEM 所在的文件夹中执行以下命令来提取公钥:

openssl.exe rsa -in myPEM.pem -pubout > myPEM_pub.pem

之后,将创建一个包含公钥的新文件(名为 myPEM_pub.pem)。

5.扩展 ID 提取
可以按照this 指南执行扩展 ID 提取。
特别是,需要下载 extension_id.py 文件,将其复制到包含 myPEM_pub.pem 文件的文件夹中,然后在同一文件夹中执行以下命令:

python extension_id.py myPEM_pub.pem

注意:如果你使用的是 Python 3,你必须修改 extension_id.py 文件的第 94 行

with file(first_arg) as f: 

with open(first_arg) as f:

命令输出如下:

[...]
Extension ID: <myExtensionID>
[...]

6. XML 文件创建
为了正确部署扩展,需要创建更新 XML 文件(在本示例中名为 myXML.xml)。
在这种情况下,它的内容是:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='<myExtensionID>'>
    <updatecheck codebase='https://my.server/resources/myCRX.crx' version='<myExtensionVersion>' />
  </app>
</gupdate>

注意:需要用正确的值替换以下条目

  • &lt;myExtensionID&gt;第 5 段的输出
  • https://my.server/resources/myCRX.crx在第 1 段中定义
  • &lt;myExtensionVersion&gt;在清单文件中定义

7.发布
为了正确配置环境,有必要将第 3 段中创建的 CRX 和第 6 段中创建的 XML 发布到第 1 段中定义的 url。

8.部署
可以按照this 指南进行扩展的部署。
特别是,需要将以下行添加到强制安装应用程序列表并扩展:

<myExtensionID>;https://my.server/resources/myXML.xml

注意:需要用正确的值替换以下条目

  • &lt;myExtensionID&gt;第 5 段的输出
  • https://my.server/resources/myCRX.crx, 在段落中定义 1

9.更新 - 创建 CRX
为了更新扩展,需要创建一个新的 CRX 包,并使用更新的版本号(在本例中为 &lt;myNewExtensionVersion&gt;)。
可以按照this 指南创建 CRX。
注意:为了使此过程正常工作,必须选择第 3 段中创建的密钥 myPEM.pem。

10.更新 - 发布
为了发布更新,需要将第 9 段中创建的 CRX 重命名为 myCRX.crx,并修改第 6 段中创建的 XML 中的版本号(见下文)。

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='<myExtensionID>'>
    <updatecheck codebase='https://my.server/resources/myCRX.crx' version='<myNewExtensionVersion>' />
  </app>
</gupdate>

在那之后,为了执行更新必须做的最后一件事是在第 1 段中定义的 url 上发布 CRX 和 XML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多