External Extension Chrome OS through Admin Console - google-chrome

We have an external extension hosting service setup to serve XML and a crx file packed with chrome.
The XML is formatted with:
<gupdate xmlns="http://www.google.com/update2/response" protocol="1.0">
<app appid="xxxxxxxxxxx">
<updatecheck codebase="https://extensions.site.com/crx/build.crx" version="1.9.6"/>
</app>
</gupdate>
We edit group policy to point at the xml file (we've also tried the crx file with and without an update URL) using the Google Admin Console to target Chrome OS devices.
We configure using the built in setting to deploy to Chrome OS.
We also have appropriate settings regarding allowing external extensions.
The extension refuses to install on Chrome OS enterprise (education).

Related

Getting package is invalid `crx_required_proof_missing` when installing my own, signed extension

I'm building an internal extension for my company. Since it's an internal tool, I don't want to publish it on the Chrome Web Store.
To be able to self-host the browser extension, I'm doing the following steps:
(before): I created a .pem to sign the extension (+ keep a constant extension id across updates)
I'm building the source code
I'm packing and signing the extension with chrome using chromium --pack-extension=./build_dir/ --pack-extension-key=./key.pem
I'm updating the update.xml file to reflect the new version number
I uploaded the signed .crx and update.xml
I have a website with a link pointing to the .crx file. The issue is the following: when clicking on it, the file is downloaded and chrome understands it's a browser extension. Then: I'm getting "Package is invalid crx_required_proof_missing".
What am I missing?
What can I do to be able to install a self-hosted extension after downloading the extension?
Notes:
I am aware that I can extract the .crx content and load the extension as "unpacked", but that's not what I'm looking for: deployment will be more complex (more manual steps) and updates will not be automatic.
The .crx file seems to be served with the right headers and is publically accessible. The update file is also correct and accessible.
Info:
Yes, the manifest contains properties key and update_url.
When dragging/dropping the .crx file in chrome://extensions (in dev mode): the extension is installed but I'm getting a red warning on the extension card: "This extension is not listed in the Chrome Web Store and may have been added without your knowledge"
When dragging/dropping the .crx file in chrome://extensions (without dev mode):
The extension is not installed and I'm getting: "Package is invalid crx_required_proof_missing".
When dragging/dropping the .crx file in chrome://extensions (with CHROMIUM and dev mode):
The extension is properly installed and working.

Chrome extension - Can I share my extension as crx file for using someone?

I publish my extension in google web store and install it successfully in my chrome.
So I find extension's files in this directory:
C:\Users\User_Name\AppData\Local\Google\Chrome\User Data\Default\Extensions.
I use my extension for native messaging in chrome.
How do I get .crx file for publish my extension for other people without internet connections?
Or exactly like firefox *.xpi files.
Also:
If I pack extension's files in above DIR to zip and rename to crx file, and drop down to chrome this error occurs:
Package is invalid: CRX_HEADER_INVALID.
Packaging
Extensions and themes are served as .crx files. When uploading through the Chrome Developer Dashboard , the dashboard creates the .crx file automatically. If published on a personal server, the .crx file will need to be created locally or downloaded from the Chrome Web Store.
Download .crx from the Chrome Web Store
If an extension is hosted on the Chrome Web Store, the .crx file can be downloaded from the Developer Dashboard. Locate the extension under "Your Listings" and click on "More info". In the popup window, click the blue main.crx link to download it.
The downloaded file can be hosted on a personal server. This is the most secure way to host an extension locally as the contents of the extension will be signed by the Chrome Web Store. This helps detect potential attacks and tampering.
Create .crx locally
Extension directories are converted to .crx files at the Extensions Management Page. Navigate to chrome://extensions/ in the ominibox, or click on the Chrome menu, hover over "More Tools" then select "Extensions".
On the Extensions Management Page, enable Developer Mode by clicking the toggle switch next to Developer mode. Then select the PACK EXTENSION button.
Specify the path to the extension’s folder in the Extension root directory field then click the PACK EXTENSION button. Ignore the Private key field for a first-time package.
Chrome will create two files, a .crx file and a .pem file, which contains the extension’s private key.
Do not lose the private key! Keep the .pem file in a secret and secure place; it will be needed to update the extension.
Learn More
This is updated dashboard in order to download your crx file

Installing Chrome Extension via ExtensionInstallForcelist without Chrome Web Store

I try to auto-install a chrome extension on a WIN10 device that have no connection to the internet and thus can not access the Chrome Web Store. So uploading the extension to the CWS is no option. The extension exists as a crx file on a server in a network and on the device.
On Chrome Versions 59 and lower I could install the extension via settings in the registry. When Chrome was started, the user was ask if he wants to install the extension.
For this I used the registry key ExtensionInstallWhitelist and defined the path and version of the extension under the key "[...]/Google/Chrome/Extensions/[ExtensionID]".
But since Version 60 the extension does not appear in Chrome anymore. So I tried to auto-install the extension via an Active Directory domain policy.
I have imported the chrome policy templates and configured the entry ExtensionInstallForcelist (http://www.chromium.org/administrators/policy-list-3#ExtensionInstallForcelist) in the group policy editor. This policy setting is listed on the chrome://policy page in Chrome. But the extension does not appear in Chrome. The ExtensionInstallForcelist entry contains "[ExtensionID];[url where the crx file resides]". I also tested this with an url to an "Update Manifest XML document" which points to the crx file. Neither of them worked.
Does anyone know, if Chrome 60+ still supports this?
Is my configuration incorrect?
Any help will be appreciated, thanks!

Offline google chrome extensions

Background:
I manage an offline network of workstations.
I have written a chrome extension that needs to be in the browser for our webapp to function
I have published it through the chrome store (but not made it public)
Question:
How do I install this extension without the internet
What I've tried:
Windows GPO: Requires the update URL to be http://clients2.google.com/service/update2/crx
Windows Registry: same URL problem
Unpacked extensions: prompts users, requires developer tools, and disables the extension when chrome is restarted.
install crx: disables the extension when chrome is restarted.
Any other ideas, or ways around this?
Chrome version 48.
I was able to do this on a regular chrome installation by doing the following:
Download the extension in crx format - how to download a crx file from the chrome web store for a given id
Unzip the crx file
I had to rename the _metadata folder to metadata
Open the chrome extensions page
Enable Developer mode
Click "Load unpacked extension..."
Select the unzipped folder
This worked for me when I needed to install Advanced REST client.
I have just:
Downloaded the add-on CRX file using http://crxextractor.com/
Opened the "extensions" page on Chrome.
Drag-and-dropped the CRX file onto the "extensions" page.
I got it to work actually, sadly forgot about this post until now.
I had the Business version installed as #gerardnimo suggested.
What I wound up doing is
1) setup and IIS server to serve both the CRX and the update xml. based on this guide. https://developer.chrome.com/extensions/autoupdate
2) Then i was able to install the extension via group policy.
Here is a thread that I've found. He suggests that you can use Google Chrome for Business.
Since September 3, 2015, Installing Chrome extensions off-line no longer work (and here ) due to Google trying to prevent malicious extensions being downloaded and installed. To install an extension off-line today, require you to install a signed pre-packaged full Chrome install, using Googles Chrome for Business. This functionality is controlled by a policy list. Or according to this post, you can use their Dev or Canary channels to run any extension. Their latest builds can be found here

Deploying a chrome extension hosted on store

I want to deploy a Chrome extension hosted on Chrome store.
According to:
http://developer.chrome.com/extensions/external_extensions.html
I need to include a CRX file, so how do I get it from the Chrome store?
I can't pack it using my own *.PEM key since it won't install and the key differs from the one generated on the Chrome store.
So, please, how do I deploy it?
The whole content of the crx is landing in the chrome directory, more specifically:
c:\Users\USERNAME\AppData\Local\Google\Chrome\User
Data\Default\Extensions\
All installed extensions are listed here by their ID's.