crx header invalid что делать

Error when downloading CRX file from Chrome Web Store: CRX_HEADER_INVALID [closed]

Want to improve this question? Update the question so it’s on-topic for Stack Overflow.

When i get any CRX extension file by the following link:

on Chrome version 73.0.3683.86 i get CRX_HEADER_INVALID error with any ID on Web Store, however on older Chrome versions it’s okay.

Besides, i can download a CRX file by third-party site, but when i add it at chrome://extensions/ i also get CRX_HEADER_INVALID error.

All of this applies when i work with latest version of Chrome. Does anyone know what’s the problem?

3 Answers 3

Why does this error occur?

CRX2 deprecation

Starting with Chrome 70, all non-force-installed extensions must be packaged in the CRX3 format. Extensions signed and hosted in the Chrome Web Store have been automatically converted.

Starting with Chrome 75, this restriction will also apply to force-installed extensions. Privately hosted extensions that were packaged using a custom script or a version of Chrome prior to Chrome 64.0.3242.0 must be repackaged.

If your organization is force-installing privately hosted extensions packaged in CRX2 format and you do not repackage them, they will stop updating in Chrome 75. New installations of the extension will fail.

However, it seems like in Chrome 73 Google forced this change for new installations already and introduced a new policy option for updates only.

But wait, it says all of them were converted automatically, so.

Why does it occur in your case?

Beginning in M73, Chrome only allows installation of extensions signed with a CRX3 package. However, the webstore contains copies of both CRX2 and CRX3 versions (in order to accommodate older Chrome versions that can’t handle CRX3), and by default, will serve CRX2.

The [. ] package is using the old endpoint which will retrieve CRX2s, and so newer versions of Chrome will disallow the installation. [. ] downloading libraries need to update their code to request CRX3s, and then this would work in all modern Chrome versions (CRX3s have been supported for several versions now).

So the problem is you were using an outdated URL to download extensions. See this answer for current URL format.

Источник

Chrome 75.x: Package is invalid: ‘CRX_REQUIRED_PROOF_MISSING’ #109

Comments

eladnava commented Jun 12, 2019 •

Hello all,
Thanks so much for your work on this amazing package!

Chrome: 75.0.3770.80 (Official Build) (64-bit)
OS: MacOS High Sierra

The crx is sent for download by sending the following headers:

Any idea what changed and how we can support the new version of Chrome?

The text was updated successfully, but these errors were encountered:

eladnava commented Jun 12, 2019

realjax commented Jun 12, 2019 •

crx header invalid что делать. Смотреть фото crx header invalid что делать. Смотреть картинку crx header invalid что делать. Картинка про crx header invalid что делать. Фото crx header invalid что делать

eladnava commented Jun 12, 2019

@realjax Are you trying to generate a new extension here?
https://applicationize.me/now

It works for me now on Chrome 75 using the workaround above.

ahwayakchih commented Jun 12, 2019 •

@eladnava, @realjax according to documentation about linux hosting, extension has to specify update_url in its manifest.json file. That URL has to respond with XML file/data: https://developer.chrome.com/extensions/linux_hosting#update_url

ahwayakchih commented Jun 13, 2019 •

According to documentation, Chrome does not allow installing CRX from outside of their store, unless in developer mode or through enterprise policy: https://developer.chrome.com/extensions/hosting_changes, or on Linux (it’s mentioned at the beginning of linux_hosting i linked in my previous comment).
So that may be a reason, because in their source, that «proof missing» error is returned only if either public key is missing, or «required key» is missing:
https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L178
«required key» seems to be their predefined key:
https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L134
and
https://github.com/chromium/chromium/blob/c48c9b176af94f7ec65e20f21594524526d2a830/components/crx_file/crx_verifier.cc#L42
I’m guessing that’s the public part of Chrome Web Store key? There’s no easy or even «practical» way to create signature that will match their key.
So, either it’s the missing Chrome Web Signature key, or something is wrong with how we create signature using developer’s key.

ahwayakchih commented Jun 13, 2019 •

When i drag&dropped tiny test CRX onto Chrome’s window (onto default new tab) i got the same error.
When i drag&dropped it onto a tab opened on chrome://extensions/ (with «Developer mode» enabled) it worked OK. Without «Developer mode» switch enabled, i got the same error.

@eladnava @realjax can you check that too?

eladnava commented Jun 13, 2019 •

Hi @ahwayakchih,
Thanks for your help.

Chrome used to allow downloading CRX files via HTTP file download (using application/x-chrome-extension mime-type), even outside Chrome Web Store.

This is the workaround we used, we can close this issue.

stephenarifin commented Jun 25, 2019

Hey guys, I’m receiving this issue with the same version of chrome but not when downloading a CRX file. I pack my extension via Chrome’s «Pack Extension» button on the extensions page. When I double click the crx file I just create, it gives me the error CRX_REQUIRED_PROOF_MISSING.

I’m in developer mode, and could use some advice. The end goal is to load the extension into a Selenium automated browser. Even though I’m loading the extension into Selenium, it’s not appearing and I believe this is the cause. Any thoughts?

ahwayakchih commented Jun 25, 2019

stephenarifin commented Jun 25, 2019

@ahwayakchih, thanks for the response. To be clear, I’m actually using MacOS and not installing the extension from a web server. This is a local dev copy of an extension i’m developing.

ahwayakchih commented Jun 25, 2019

@stephenarifin what happens when you go to chrome://extensions page, switch developer mode on and drag and drop CRX file into the window?

Here, on Linux with Chromium, i get confirmation dialog, click «Add extension» and it installs OK.
But when i drag & drop CRX file on some other page, it shows CRX_REQUIRED_PROOF_MISSING error, even after i click «continue» on warning dialog.

But it should be possible to force_install it through policy file created in correct directory. After starting the browser, extension should already be installed.

Check this for Mac:

stephenarifin commented Jun 25, 2019

@ahwayakchih, if I drag and drop the CRX file into the extension window, I get the confirmation dialog and installs correctly. However, if I double click the CRX file, I get the CRX_REQUIRED_PROOF_MISSING error. If I drag and drop the CRX on another page that isn’t extensions, nothing happens.

ahwayakchih commented Jun 26, 2019

@stephenarifin OK, so for checking manually if CRX file works, you can still install it through extensions window. CRX_REQUIRED_PROOF_MISSING error is about missing signature from Chrome’s web store AFAIK, so if it installs through extensions window, file is valid, just unsigned.

To test if extension works after it’s installed, you may try using ZIP file or a path to extension’s directory (the one with sources, manifest.json file, etc. ). It works with Puppeteer, so maybe it will also work with Selenium (sorry, i don’t use Selenium, so i can’t be sure).

Источник

Ошибка CRX_INVALID_HEADER при загрузке файла расширения crx в chrome версии 73.0.3683.86

Когда я получаю любой файл расширения crx по ссылке (

— это идентификатор расширения) в chrome версии 73.0.3683.86, я получаю CRX_HEADER_INVALID с любым идентификатором в интернет-магазине.

Кроме того, я скачал файл crx по https://chrome-extension-downloader.com/. я могу получить файл crx, но когда я добавляю его в chrome:\extensions, я также получаю CRX_HEADER_INVAILD в версии chrome 73.0.3683.86, однако в более старой версии chrome все в порядке.

Все эти активы я работаю с последней версией Chrome.

Кто-нибудь может мне помочь?

3 ответа

Почему возникает эта ошибка?

Прекращение поддержки CRX2

Начиная с Chrome 70, все расширения, не устанавливаемые принудительно, должны быть упакованы в формате CRX3. Расширения, подписанные и размещенные в Интернет-магазине Chrome, были автоматически преобразованы.

Начиная с Chrome 75, это ограничение будет применяться и к принудительно установленным расширениям. Расширения, размещенные на частном сервере, которые были упакованы с использованием специального сценария или версии Chrome до Chrome 64.0.3242.0, необходимо переупаковать.

Если ваша организация принудительно устанавливает закрытые расширения, упакованные в формате CRX2, и вы не переупаковываете их, они перестанут обновляться в Chrome 75. Новые установки расширения завершатся ошибкой.

Однако похоже, что в Chrome 73 Google уже принудительно применил это изменение для новых установок и представил новый параметр политики только для обновлений.

Но подождите, там написано, что все они были преобразованы автоматически, так что.

Почему это происходит в вашем случае?

Начиная с M73, Chrome позволяет устанавливать только расширения, подписанные пакетом CRX3. Однако интернет-магазин содержит копии версий CRX2 и CRX3 (для размещения более старых версий Chrome, которые не могут обрабатывать CRX3) и по умолчанию будет обслуживать CRX2.

Пакет [. ] использует старую конечную точку, которая будет получать CRX2, поэтому более новые версии Chrome не разрешат установку. [. ] загружающие библиотеки должны обновить свой код, чтобы запрашивать CRX3, и тогда это будет работать во всех современных версиях Chrome (CRX3 теперь поддерживаются для нескольких версий).

Итак, проблема в том, что вы использовали устаревший URL-адрес для загрузки расширений. См. Этот ответ для текущего формата URL.

Источник

Ошибка при установке расширения Chrome из файла: CRX_HEADER_INVALID

Как я могу его установить?

2 ответа

Когда я console.log(chrome) с браузером google chrome получаю определенные свойства, но я нахожу, что свойство ‘runtime’ chrome недоступно. app: Object csi: function () < native function GetCSI(); return GetCSI();>loadTimes: function () < native function GetLoadTimes(); return GetLoadTimes();>.

Откройте страницу расширений в Chrome или перейдите к “chrome://extensions” в адресной строке.

Установите флажок “Режим разработчика”, чтобы включить режим разработчика.

Нажмите кнопку “Load unpacked” и выберите папку извлеченного файла zip;

Тем не менее, похоже, что в Chrome 73 Google уже вынудил это изменение для новых установок и ввел опцию политики только для обновлений.

Итак, после распаковки расширения в старом формате (как описано в другом ответе) вы можете упаковать его обратно в текущую версию Chrome, а затем установить его как обычно. Таким образом, вам не придется всегда держать это расширение где-то распакованным.

Похожие вопросы:

Я хочу запустить событие как раз тогда, когда запустится мое расширение chrome. Как мне этого добиться? Есть ли прослушиватель событий, который срабатывает при запуске расширения? например:-.

Когда я console.log(chrome) с браузером google chrome получаю определенные свойства, но я нахожу, что свойство ‘runtime’ chrome недоступно. app: Object csi: function () < native function GetCSI();.

Если скрипты содержимого указаны в manifest.json для Firefox, то Firefox также загрузит скрипты содержимого для уже открытых вкладок и выполнит их, даже если вкладки уже находятся в загруженном и.

Когда я добавляю уведомления в расширение chrome, сначала мне нужно перейти на страницу e.q. options.html, чтобы получить всплывающее окно из chrome Show notifications. Можно ли как-то отобразить.

Каждый раз, когда я делаю изменение в скрипте расширения (он загружается как распакованный), я должен перезагрузить расширение (со страницы расширений), и только после этого он загружает обновленный.

Я публикую свое расширение в google web store и успешно устанавливаю его в свой chrome. Поэтому я нахожу файлы расширения в этом каталоге: C:\Users\User_Name\AppData\Local\Google\Chrome\User.

Когда я получаю любой файл с расширением CRX по следующей ссылке.

Источник

crx version number invalid что делать

1 ответ

Это вызвано тем, что формат браузера CRX, используемый для упаковки расширения для распространения, отличается от формата CRX, используемого вашим браузером.

У меня была эта проблема при упаковке расширения в Chrome 67 для клиента, использующего Chrome 57.

Решение проблемы состоит в том, чтобы выяснить, какую версию Chrome использует целевой пользователь, и упаковать свое расширение в эту версию. Посмотрев на исходный код, похоже, что Chrome 67 поддерживает форматы CRX2 и CRX3. Я полагаю, что более ранние версии Chrome использовали CRX1.

Когда расширение распространяется через магазин Chrome, вы не сталкиваетесь с этой проблемой, поскольку они могут отправить вам подписанный пакет, используя версию CRX, как того требует версия вашего браузера.

Это вызвано из-за формата CRX браузера, используемого для упаковки расширения для распределения отличен от формата CRX используется в вашем браузере.

Я имел эту проблему при упаковке расширения в Chrome 67 для клиента с помощью Chrome 57.

Решение этой проблемы заключается, чтобы узнать, какую версию Chrome целевого пользователя использует и упаковать расширение с этой версией. Посмотрев на исходный код это выглядит как Chrome 67 поддерживает CRX2 и CRX3 форматов. Я полагаю, более ранние версии хрома используют CRX1.

Когда расширение распространяются в магазине Chrome вы не сталкиваетесь с этой проблемой, поскольку они могут отправить вам подписанный пакет, используя версию CRX в соответствии с требованиями вашей версией браузера.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *