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.crx
和 myPEM.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。
我正在尝试在私人商店中发布 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
,它将部署在 urlhttps://my.server/resources/myCRX.crx
- XML 名称将是
myXML.xml
并且它将部署在 urlhttps://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.crx
和 myPEM.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。