Chrome WebExtension - 私人商店和企业环境

Chrome WebExtension - Private Store and Enterprise Environment


我正在尝试在私人商店中发布 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)都没有安装在域控制的机器中。
我的问题是:我是不是做错了什么,或者 Google Chrome 政策已经改变,上面的例子已经过时了?
非常感谢,
丹妮尔

要在 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 link 中指定的 update_url (可以找到更新 XML 的地方)必须包含在 JSON 清单中:为了做到这一点有必要将以下行插入 JSON 文件。

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

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

4. Public 密钥提取
public 密钥的提取可以通过从 PEM 所在的文件夹执行以下命令来执行:

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

之后将创建一个包含 public 键(名为 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>

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

  • <myExtensionID>, 第 5 段的输出
  • https://my.server/resources/myCRX.crx,第1段定义
  • <myExtensionVersion>, 在清单文件中定义

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

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

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

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

  • <myExtensionID>, 第 5 段的输出
  • https://my.server/resources/myCRX.crx,段定义 1

9.更新 - CRX 创建
为了更新扩展,需要创建一个新的 CRX 包,并更新版本号(在本例中 <myNewExtensionVersion>)。
可以按照 this 指南创建 CRX。
注意:为了使此过程正常运行,需要 select 在第 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。