16

I have Chrome extension and create the crx file using developer mode. I uploaded the crx file to some internal url (www.xyz.com/internal.crx).

Whenever i am trying to install the extension with URL (not in developer mode) it is throwing error Package is invalid:

CRX_REQUIRD_PROOF_MISSING

Same CRX file i used in developer mode with drag and drop and it's working fine. Please help to solve the problem with URL downloading and installing extension internally.

questionasker
  • 2,536
  • 12
  • 55
  • 119
amitsingh
  • 230
  • 1
  • 2
  • 8
  • It means your manifest.json is missing the `"key"` entry or the hashsum in crx header doesn't match that key. – wOxxOm Jul 08 '19 at 07:49
  • I created the package with chrome pack extension itself. Please let me know how can i fix the issue. – amitsingh Jul 08 '19 at 09:18
  • My comment contains two reasons and you didn't reply to the first one. – wOxxOm Jul 08 '19 at 10:07
  • I have pem file generated while creating the extension pack. I have added same in mainfeast.json 'key'. Let me know if i need to do any update on same. – amitsingh Jul 08 '19 at 11:12
  • 2
    It should be `manifest.json`, not `mainfeast.json`. To generate the `"key"` use https://robwu.nl/crxviewer/ - upload your extension, then copy the value from devtools console. – wOxxOm Jul 08 '19 at 11:16
  • I used below url and get the same 'key' value and added in manifest.json. But still facing same issue Package is invalid:CRX_REQUIRD_PROOF_MISSING https://developer.chrome.com/apps/manifest/key – amitsingh Jul 08 '19 at 16:24
  • @wOxxOm I did not get any solution. Please let me know if anything else missing from my end. – amitsingh Jul 19 '19 at 09:42

3 Answers3

9

In recent versions of Chrome only CRX3 format is supported:

Instructions for Repackaging Please see the following article for detailed instructions on how to repackage Chrome apps and extensions into the CRX3 format.

If you use an open source library to build extensions please verify CRX3 support with that vendor. In addition you can use https://crx-checker.appspot.com to check the version of your extension and let your vendor know.

If you are unable to repackage or cannot use the CRX3 format, you can enable the ExtensionAllowInsecureUpdates policy. Note that this is only a temporary workaround, all extensions must move to the CRX3 format!

M76 (July 2019) By default, CRX2 will be disabled and everyone should move to CRX3. As a temporary workaround, ExtensionAllowInsecureUpdates can be used to re-enable CRX2.

(from https://www.chromium.org/crx2-deprecation)

Your options are:

  • Repack the extension in CRX3 format in some way or another, for example with this npm package.
  • Use one of the other suggested solutions above
DeepSpace
  • 78,697
  • 11
  • 109
  • 154
8

In Chrome 75 it seems impossible to add an extension manually. Even if you manage to drag and drop it to chrome://extensions/page - chrome will block it from use.
The only way of distribution now seems to be only through the Chrome Web Store.
https://support.google.com/chrome_webstore/answer/2811969

Also see here: https://github.com/ahwayakchih/crx3#crx_required_proof_missing

avalanche1
  • 3,154
  • 1
  • 31
  • 38
  • Just FYI when using selenium, it is working to add local extensions. Installing in UI does not work. – akostadinov Nov 21 '19 at 13:47
  • 6
    So if you get a .zip extension, you can unzip it and then install it ("Load unpacked") - but if it's a crx, then it's not allowed? Seriously this is utterly ridiculous. – BoD Mar 28 '20 at 14:59
  • Switched to Chromium, some builds allow installing local extensions. https://chromium.woolyss.com – andromeda947 Apr 14 '20 at 17:03
6

As of December 2020. Only 4 possible option to install extension.

  1. Get a signed CRX file from Google web store.

  2. Use Chromium to install CRX file in developer mode.

  3. Import extension's directory as unpacked extension.

  4. Modify/Configure ExtensionSettings policy as in documented here.

I preferred option 2, as I am a private person. And option 4 in enterprise settings.

In some cases it is not advisable or not feasible to submit the browser extension for Google certification.

Dudi Boy
  • 4,551
  • 1
  • 15
  • 30