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 из файла: 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 из интернет-магазина Chrome: CRX_HEADER_INVALID
Когда я получаю любой файл с расширением CRX по следующей ссылке:
в Chrome версии 73.0.3683.86 я получаю ошибку CRX_HEADER_INVALID с любым ID в веб-магазине, однако в более старых версиях Chrome все в порядке.
Все это применимо, когда я работаю с последней версией Chrome. Кто-нибудь знает, в чем проблема?
3 ответа
Я разрабатываю и поддерживаю расширение Chrome для своей компании, где каждому клиенту будет присвоен уникальный ID в коде. Мы использовали ID для определения статуса лицензии и входа в наши сервисы (платное расширение с ежемесячной абонентской платой). До сих пор мы сами размещали файлы.
Почему возникает эта ошибка?
CRX2 устаревание
Начиная с Chrome 70, все расширения non-force-installed должны быть упакованы в формате CRX3. Расширения, подписанные и размещенные в интернет-магазине Chrome, были автоматически преобразованы.
Если ваша организация принудительно устанавливает частные расширения, упакованные в формате CRX2, и вы не переупаковываете их, они перестанут обновляться в Chrome 75. Новые установки расширения завершатся неудачей.
Тем не менее, похоже, что в Chrome 73 Google уже вынудил это изменение для новых установок и ввел новую опцию политики только для обновлений.
Но подождите, там написано, что все они были преобразованы автоматически, так что.
Почему это происходит в вашем случае?
Начиная с M73, Chrome разрешает установку только расширений, подписанных пакетом CRX3. Однако веб-магазин содержит копии версий CRX2 и CRX3 (для размещения более старых версий Chrome, которые не могут обрабатывать CRX3) и по умолчанию будет обслуживать CRX2.
Пакет [. ] использует старую конечную точку, которая будет извлекать CRX2s, и поэтому более новые версии Chrome запретят установку. [. ] загружающие библиотеки должны обновить свой код, чтобы запросить CRX3s, и тогда это будет работать во всех современных версиях Chrome (CRX3s поддерживается уже в нескольких версиях).
Итак, проблема в том, что вы использовали устаревший URL для загрузки расширений. См. Этот ответ для текущего формата URL.
Последние версии chrome принимают только формат crx3.. Таким образом, можно преобразовать файл crx в zip. Вы можете получить файл CRX, указав свое расширение url по этой ссылке
Вы можете конвертировать файл crx в zip, используя эту ссылку ниже,
затем, чтобы открыть браузер Chrome с помощью
Мы создали расширение chrome, которое будет использоваться только внутри нашей компании избранными людьми. Мы не хотим публиковать это в интернет-магазине chrome. Мы могли бы сделать это раньше, просто перетащив файл crx на страницу расширений. Но в последней версии chrome (я использую 35.x) мы.
Похоже, что начиная с Google Chrome 63 загрузка самозаверяющего crx-файла завершается ошибкой с сообщением: This extension may have been corrupted. Из журналов браузера я вижу, что Chrome пытается проверить проверенное содержимое из магазина и, конечно же, терпит неудачу.
Похожие вопросы:
Я не могу найти никакой информации о возможности разместить приложение chrome на своем веб-сайте и предоставить его пользователю для загрузки, избегая магазина google chrome. Возможно ли это? Когда.
Я хочу получить версию расширения chrome, имя из интернет-магазина chrome. Например, я вижу имя приложения Do Not Merge WIP for GitHub и версию приложения 1.0.6 на странице сведений о приложении.
Я разрабатываю и поддерживаю расширение Chrome для своей компании, где каждому клиенту будет присвоен уникальный ID в коде. Мы использовали ID для определения статуса лицензии и входа в наши сервисы.
Мы создали расширение chrome, которое будет использоваться только внутри нашей компании избранными людьми. Мы не хотим публиковать это в интернет-магазине chrome. Мы могли бы сделать это раньше.
Похоже, что начиная с Google Chrome 63 загрузка самозаверяющего crx-файла завершается ошибкой с сообщением: This extension may have been corrupted. Из журналов браузера я вижу, что Chrome пытается.
Я пытаюсь автоматически установить расширение chrome на устройство WIN10, которое не имеет подключения к интернету и поэтому не может получить доступ к интернет-магазину Chrome. Так что загрузка.
Я публикую свое расширение в google web store и успешно устанавливаю его в свой chrome. Поэтому я нахожу файлы расширения в этом каталоге: C:\Users\User_Name\AppData\Local\Google\Chrome\User.
Ошибка при загрузке файла CRX из интернет-магазина Chrome: CRX_HEADER_INVALID
Когда я получаю любой файл с расширением CRX по следующей ссылке:
в Chrome версии 73.0.3683.86 я получаю ошибку CRX_HEADER_INVALID с любым ID в веб-магазине, однако в более старых версиях Chrome все в порядке.
Все это применимо, когда я работаю с последней версией Chrome. Кто-нибудь знает, в чем проблема?
3 ответа
Я разрабатываю и поддерживаю расширение Chrome для своей компании, где каждому клиенту будет присвоен уникальный ID в коде. Мы использовали ID для определения статуса лицензии и входа в наши сервисы (платное расширение с ежемесячной абонентской платой). До сих пор мы сами размещали файлы.
Почему возникает эта ошибка?
CRX2 устаревание
Начиная с Chrome 70, все расширения non-force-installed должны быть упакованы в формате CRX3. Расширения, подписанные и размещенные в интернет-магазине Chrome, были автоматически преобразованы.
Если ваша организация принудительно устанавливает частные расширения, упакованные в формате CRX2, и вы не переупаковываете их, они перестанут обновляться в Chrome 75. Новые установки расширения завершатся неудачей.
Тем не менее, похоже, что в Chrome 73 Google уже вынудил это изменение для новых установок и ввел новую опцию политики только для обновлений.
Но подождите, там написано, что все они были преобразованы автоматически, так что.
Почему это происходит в вашем случае?
Начиная с M73, Chrome разрешает установку только расширений, подписанных пакетом CRX3. Однако веб-магазин содержит копии версий CRX2 и CRX3 (для размещения более старых версий Chrome, которые не могут обрабатывать CRX3) и по умолчанию будет обслуживать CRX2.
Пакет [. ] использует старую конечную точку, которая будет извлекать CRX2s, и поэтому более новые версии Chrome запретят установку. [. ] загружающие библиотеки должны обновить свой код, чтобы запросить CRX3s, и тогда это будет работать во всех современных версиях Chrome (CRX3s поддерживается уже в нескольких версиях).
Итак, проблема в том, что вы использовали устаревший URL для загрузки расширений. См. Этот ответ для текущего формата URL.
Последние версии chrome принимают только формат crx3.. Таким образом, можно преобразовать файл crx в zip. Вы можете получить файл CRX, указав свое расширение url по этой ссылке
Вы можете конвертировать файл crx в zip, используя эту ссылку ниже,
затем, чтобы открыть браузер Chrome с помощью
Мы создали расширение chrome, которое будет использоваться только внутри нашей компании избранными людьми. Мы не хотим публиковать это в интернет-магазине chrome. Мы могли бы сделать это раньше, просто перетащив файл crx на страницу расширений. Но в последней версии chrome (я использую 35.x) мы.
Похоже, что начиная с Google Chrome 63 загрузка самозаверяющего crx-файла завершается ошибкой с сообщением: This extension may have been corrupted. Из журналов браузера я вижу, что Chrome пытается проверить проверенное содержимое из магазина и, конечно же, терпит неудачу.
Похожие вопросы:
Я не могу найти никакой информации о возможности разместить приложение chrome на своем веб-сайте и предоставить его пользователю для загрузки, избегая магазина google chrome. Возможно ли это? Когда.
Я хочу получить версию расширения chrome, имя из интернет-магазина chrome. Например, я вижу имя приложения Do Not Merge WIP for GitHub и версию приложения 1.0.6 на странице сведений о приложении.
Я разрабатываю и поддерживаю расширение Chrome для своей компании, где каждому клиенту будет присвоен уникальный ID в коде. Мы использовали ID для определения статуса лицензии и входа в наши сервисы.
Мы создали расширение chrome, которое будет использоваться только внутри нашей компании избранными людьми. Мы не хотим публиковать это в интернет-магазине chrome. Мы могли бы сделать это раньше.
Похоже, что начиная с Google Chrome 63 загрузка самозаверяющего crx-файла завершается ошибкой с сообщением: This extension may have been corrupted. Из журналов браузера я вижу, что Chrome пытается.
Я пытаюсь автоматически установить расширение chrome на устройство WIN10, которое не имеет подключения к интернету и поэтому не может получить доступ к интернет-магазину Chrome. Так что загрузка.
Я публикую свое расширение в google web store и успешно устанавливаю его в свой chrome. Поэтому я нахожу файлы расширения в этом каталоге: C:\Users\User_Name\AppData\Local\Google\Chrome\User.
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 •
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).




