"Chrome extension throws CRX file Error "CRX_REQUIRD_PROOF_MISSING"
Asked Answered
C

3

17

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.

Cambium answered 8/7, 2019 at 7:47 Comment(7)
It means your manifest.json is missing the "key" entry or the hashsum in crx header doesn't match that key.Sceptre
I created the package with chrome pack extension itself. Please let me know how can i fix the issue.Cambium
My comment contains two reasons and you didn't reply to the first one.Sceptre
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.Cambium
It should be manifest.json, not mainfeast.json. To generate the "key" use robwu.nl/crxviewer - upload your extension, then copy the value from devtools console.Sceptre
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 developer.chrome.com/apps/manifest/keyCambium
@wOxxOm I did not get any solution. Please let me know if anything else missing from my end.Cambium
U
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
Urology answered 21/8, 2019 at 21:46 Comment(0)
T
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

Terat answered 24/8, 2019 at 19:35 Comment(3)
Just FYI when using selenium, it is working to add local extensions. Installing in UI does not work.Tomekatomes
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.Moonlit
Switched to Chromium, some builds allow installing local extensions. chromium.woolyss.comEpizoic
M
7

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.

Madai answered 25/12, 2020 at 20:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.