Если у Вас оказались заблокированными все дополнения, перейдите на страницу about:debugging и нажмите кнопку Загрузить временное дополнение.
Далее нужно найти файлы дополнений, которые были у Вас установлены. В Windows они лежат в папке C:\Users\[имя_пользователя]\AppData\Roaming\Mozilla\Firefox\Profiles\[случайный_набор_букв_и_цифр]\extensions (или другая буква, обозначающая системный раздел). В Linux путь ~/.mozilla/firefox/[случайный_набор_букв_и_цифр]/extensions. Файлы дополнений имеют расширение .xpi. В обеих ОС нужно включить отображение скрытых папок и файлов.
Заметьте, что процедуру придётся повторять при перезапуске браузера.
Разработчики Firefox пока не озвучили сроки решения проблемы, но сообщили, что исправление уже тестируется. До применения патча формирование цифровых подписей для новых дополнений пока отключено.
Обязательная проверка обновлений через механизм цифровых подписей была внедрена в Mozilla Firefox в апреле 2016 года в целях предотвращения распространения вредоносных дополнений через официальный репозиторий. Вышеупомянутый сертификат должен был быть обновлён ещё неделю назад, но, по всей видимости, о необходимости обновления попросту забыли.
upd: Распространение обновления, устраняющего проблему с дополнениями, началось. Для ускорения его доставки можно включить соответствующий хотфикс в настройках браузера. Для этого нужно перейти в раздел Приватность и защита и выставить галочки как на скриншоте ниже.
После этого нажмите Просмотреть исследования Firefox. Должен появиться hotfix-reset-xpi-verification-timestamp-1548973.
Если данного хотфикса нет, проверьте параметр app.normandy.first_run на странице about:config, его значение должно быть true. После этого перезапустите браузер.
После этого нужно выполнить скрипт для восстановления дополнений. На странице about:config выставьте параметр devtools.chrome.enabled в значение true. Далее откройте консоль браузера (комбинация CTRL+Shift+J), вставьте следующий код и нажмите Enter. Код подходит для Firefox 57 и выше. Для версий ниже код далее.
// Re-enable *all* extensions async function set_addons_as_signed() { Components.utils.import("resource://gre/modules/addons/XPIDatabase.jsm"); Components.utils.import("resource://gre/modules/AddonManager.jsm"); let addons = await XPIDatabase.getAddonList(a => true); for (let addon of addons) { // The add-on might have vanished, we'll catch that on the next startup if (!addon._sourceBundle.exists()) continue; if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN ) continue; addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED; AddonManagerPrivate.callAddonListeners("onPropertyChanged", addon.wrapper, ["signedState"]); await XPIDatabase.updateAddonDisabledState(addon); } XPIDatabase.saveChanges(); } set_addons_as_signed();
В Firefox 56.0.2 и ниже функции исследований нет. Здесь есть два способа: установить хотфикс вручную или установить вручную непосредственно новый сертификат. Сначала рассмотрим вариант с хотфиксом.
Скопируйте ссылку, указанную ниже, в адресную строку браузера и нажмите Enter.
https://storage.googleapis.com/moz-fx-normandy-prod-addons/extensions/hotfix-update-xpi-intermediate%40mozilla.com-1.0.2-signed.xpi
Согласитесь с установкой хотфикса:
После этого тоже нужно выполнить код в консоли браузера, он немного другой:
async function set_addons_as_signed() { Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm"); Components.utils.import("resource://gre/modules/AddonManager.jsm"); let XPIDatabase = this.XPIInternal.XPIDatabase; let addons = await XPIDatabase.getAddonList(a => true); for (let addon of addons) { if (!addon._sourceBundle.exists()) continue; if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN) continue; addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED; AddonManagerPrivate.callAddonListeners("onPropertyChanged", addon.wrapper, ["signedState"]); await XPIProvider.updateAddonDisabledState(addon); } XPIDatabase.saveChanges(); } set_addons_as_signed();
Пока ситуация не будет исправлена полностью, эти манипуляции придётся повторять каждые 24 часа.
Теперь о втором способе — добавлении сертификата из хотфикса в браузер вручную.
- Для начала сохраните данный сертификат;
- В настройках браузера в разделе Приватность и защита найдите подраздел о сертификатах и нажмите Просмотр сертификатов. Далее вкладка Центры сертификации и кнопка Импортировать (см. скриншоты ниже);
- На странице about:config выставьте devtools.chrome.enabled = true;
- В консоль браузера (комбинация CTRL+Shift+J) вставьте следующий код и нажмите Enter:
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm"); XPIProvider.verifySignatures();
Потребуется перезапустить браузер. Некоторые дополнения включатся автоматически, другие придётся включить вручную.
После того, как Mozilla установит корректный сертификат, настройки браузера можно будет вернуть в исходное состояние.
upd 2: Вышли версии 66.0.4 и 60.6.2. ESR с исправлениями бага с дополнениями. К сожалению, данные версии исправляют не всё.
upd 3: Вышли версии 66.0.5 и 60.6.3 ESR, в которых предложено решение проблемы с обновлением сертификата при установке мастер-пароля.