Как отключить цифровую подпись firefox. Почему браузер Mozilla Firefox запрещает устанавливать элементы Яндекс и другие расширения. Отключение проверки подписи через пользовательские скрипты
В свете последних событий связанных с релизом Mozilla Firefox 48, который навёл шухеру среди части пользователей, в связи с обязательным наличием подписи у расширений, люди столкнувшиеся с этой проблемой встали перед выбором, либо:
- не пользоваться неподписанными расширениями (плохой вариант);
- использовать небрэндированные сборки;
- идти окольными путями, пытаясь отключить проверки любыми способами, некоторые из которых предложены в следующих комментариях:
https://geektimes.ru/post/279132/#comment_9480372
https://geektimes.ru/post/279132/#comment_9480382 - подписать необходимое расширение самостоятельно.
Для этого нам понадобятся:
- учётная запись на addons.mozilla.org
- установленный nodejs версии >= 0.10
- npm версии >=3.0.0 (npm up npm)
- jpm для nodejs (npm install jpm).
Итак, учётную запись зарегистрировали, программное окружение установлено, можно приступать.
Берём подопытное расширение и распаковываем его в отдельную папку, в нашем случае используем слепок репозитория, расположенного по адресу https://github.com/dillbyrne/random-agent-spoofer .
Получим следующую структуру каталогов:
test\
lib\
doc\
data\
.gitignore
LICENSE
package.json
README.md
Если используется готовое собранное расширение, то в корне папки где оно распаковано, необходимо удалить файлы «bootstrap.js» и
«install.rdf», они создаются программой сборки, а при модификации уже подписанных дополнений ещё и папку «META-INF». Т.к. мы имеем дело с ещё не собранным дополнением, то это не требуется. Следующим шагом будет редактирование файла «package.json», расположенного опять же в корне каталога распакованного расширения. В нашем случае его начало выглядит так:
{
"name": "random-agent-spoofer",
"title": "Random Agent Spoofer",
"id": "jid1-AVgCeF1zoVzMjA@jetpack",
"description": "Allows the use of various browser profiles (including useragent ,platform, oscpu, accept headers and other options), which it can randomly switch between after a chosen period of time has expired",
"author": "dbyrne",
...
}
Если в нём содержится параметр «id» его надо либо изменить, либо удалить. В противном случае, мы получим ошибку при попытке подписи о том, что не являемся его владельцем.
Далее командуем следующее «заклинание» для сборки расширения в архив:
Jpm xpi --addon-dir <путь к папке куда распаковали>
Или просто:
Jpm xpi , если текущий каталог это и есть корень распакованного расширения.
На выходе должен появиться файл собранного расширения.xpi, который и будем подписывать.
А теперь приготовим свой api-ключ, ради получения которого и регистрировались на addons.mozilla.org . Его можно увидеть по адресу addons.mozilla.org/ru/developers/addon/api/key в таком виде:
Издатель JWT: Где Jpm sign --api-key Если всё пройдёт без ошибок и автоматическая проверка будет пройдена, то в текущем каталоге мы получим подписанное расширение, в котором и нуждались. Полезные ссылки: Всем спасибо за внимание, удачи! Проблема: при установке панели (тулбара, toolbar) от Google для Firefox 3.5.x выскакивает вот такая ошибка: Firefox could not install the file at «http://dl.google.com/firefox/google-toolbar-win.xpi» Давайте рассмотрим 2 решения данной проблемы: 1 решение: Определение сертификата Первое что вы должны сделать, это определить сертификат для данного файла.xpi. Скачайте расширение.Разархивируйте это расширение.Найдите файл./META-INF/zigbert.rsa.Найдите в нем строку типа: .Class 3 Public Primary Certification AuthorityТеперь мы знаем, что.xpi файл подписан VeriSign. Установление доверия сертификату Запустите Firefox.Настройки -> Дополнительно -> ШифрованиеПросмотр сертификатов -> Центры сертификацииНайдите VeriSign сертификат. Нажмите на кнопку Изменить… Поставьте галку, как на рисунке и перезапустите браузер. 2 решение: Настройки -> Дополнительно -> ШифрованиеКнопка Настройки OCPS (Online Certificate Status Protocol).отметьте галкой, см. рисунок.Перезапустите Firefox. Аналогично для плагинов, тем и т.д. That can change your browser"s settings without your consent or steal your information have become increasingly common. Some add-ons can add unwanted toolbars or buttons, change your search settings or inject ads into your computer. Firefox does now verify that the add-ons you install have been signed by Mozilla, digitally. This article explains the add-on signing
feature and how it works. Mozilla verifies and "signs" add-ons that follow a set of security guidelines. All add-ons hosted on addons.mozilla.org have to go through this process in order to be signed. Add-ons hosted on other sites will need to follow the same guidelines in order to be signed by Mozilla. Firefox Extended Support Release (ESR) , Firefox Developer Edition and Nightly versions of Firefox will allow you to override the setting to enforce the extension signing requirement, by changing the preference xpinstall.signatures.required
to false
in the Firefox Configuration Editor (about:config
page). To override the language pack signing requirement, you would set the preference extensions.langpacks.signatures.required
to false
.
There are also special unbranded versions of Firefox that allow this override. See the MozillaWiki article, 43-я версия Mozilla Firefox на каналах Stable и Beta блокирует установку неподписанных расширений. Для отмены проверки подписи у расширений можно изменить настройки: В Firefox 48 для Stable и Beta каналов, Mozilla отменила действие параметра xpinstall.signatures.require. На каналах Dev, Nightly и ESR, а так же в сборке Firefox Unbranded, которая представляет собой стабильную версию, параметр ещё доступен. Все расширения представленные в основном репозитории Mozilla, подписаны в отличае от расширений из сторонних источников. На сегодня существует множество расширений, предоставляемых приложениями, на платформах разработки Github и Bitbucket, а так же старые расширения, которые больше не поддерживаются разработчиками и не могут быть подписаны. Все они не могут быть установлены в Firefox Stable или Beta стандартными средствами. Этот способ подразумевает создание двух файлов в основной директории, откуда запускается Firefox. 1.1. Создайте текстовый файл; // 1.3. Переименуйте его в "config.js". Убедитесь, что он называется config.js а не config.js.txt; Это каталоги установки Firefox по умолчанию. Они могут отличаться в зависимости от ваших настроек при установке или дистрибутива Linux. Важно чтобы файл оказался в корневой директории программы. 2.1. Создайте второй текстовый файл; pref("general.config.obscure_value", 0); 2.3. Переименуйте в config-prefs.js; Теперь вы можете устанавливать расширения с подписью и без в Firefox Stable или Beta. Код в файле config.js, загружает один из конфигурационных файлов Firefox и удаляет информацию из константы "Signed_Types" в этом файле. Эта константа определяет типы дополнений и расширений, которые должны быть подписаны для установки. Некоторые расширения, например, темы, не должны быть подписаны. Таким образом, код очищает константу от всех типов дополнений, поэтому установка любого из них не требует наличия подписи. Код во втором файле указывает Firefox загрузить файл config.js при запуске. Странно что это на столько просто, учитывая то что обязательная подпись расширений используется для повышения безопасности. В общем, это просто! А посему давайте отключим запрет браузера Mozilla Firefox на установку дополнений (фича запретов постигла пользователей с выходом крайних версий брауза)), а также включим мультипроцессность и мультипроцессорность. Что ж, продолжим прошлую статью, — в ней говорилось о возможностях обхода запрещений Firefox расширений/дополнений. Сегодня тема немного посложнее, так что приготовьтесь: нужно будет создать пару файлов сценария для приложения firefox и поместить их в корень ядра, и ещё кое-что поправить в скрытых настройках обозревателя Фаерфокс. В общем, будет очень интересно и что более важно — полезно! Для великого начала, давайте включим запрет браузеру на проверку дополнений (что это, подробнее в статье, ссылка выше). Создадим такой файл сценария с расширением JS: имя config.js (кому писанина файлов туго достаётся, их можно просто скачать в финале статьи, и разложить по своим полочкам в папке файлов firefox). А создаются файлы таким образом: открываем текстовый редактор Виндовс — обычный блокнот и записываем в его тело следующие ниже строки (можно копировать). Вот начинка первого файла:
// отключаем запрет установки дополнений
try { Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("SIGNED_TYPES.clear()"); }
catch(ex) {}
Идём по следующему пути: C: Program Files\Mozilla Firefox
….и закидываем в директорию созданный файл. Напишем следующий js-файл: с именем — config-prefs.js
// отключаем запрет установки дополнений (файл в связке с config.js)
pref("general.config.obscure_value", 0); pref
("general.config.filename", "config.js");
Осиливаем в ядре Firefox и эту дорожку до папки pref, чтобы и туда подкинуть созданный файлик: С: Program Files\Mozilla Firefox\defaults\pref
Вот и всё!! запрет проверки и установки дополнений браузером Фаерфокс окончен! И теперь, как в прежние безмятежные времена, запросто можно устанавливать дополнения — без всяких «надуманных» запрещений разработчиков Fire — в обычном и привычном для нас режиме. Однако нам, как завсегда водится — этих знаний мало!! А давайте-ка подключим (или включим, кому как угодно) Мультипроцессность (многопроцессность) это..! хотя, думаю, толковать подробно излишне, — значение понятия логично и ясно, к тому же имеет философскую мультипликационную составляющую скоростной работы вкладок браузера Firefox, о ней в следующей статье подробнее. Непременно подписывайтесь: Для того, чтобы заработала мультипроцессность включить соответствующую логику обработки данных не составит особого труда — воспользуемся скрытыми настройками браузера (которые кстати пригодятся для тестирования проделанной работы). В адресной строке браузера (не в строке запросов, а той, что в самом верху окна браузера) копируем и прописываем следующий вензель: about:config
…жмём «Enter»… Внимание:
на этом этапе перехода к скрытым настройкам браузера появится логичное предупреждение пользователю (то бишь нам) об осторожности!! Соглашаемся быть аккуратными! Теперь предстоит создать новую логическую строку, которая добавится к подобным уже существующим строкам (настройкам) Фаер… Правая кнопь мышки… выбираете «Логическое» — далее, в окошке записываете саму вариант-логику: browser.tabs.remote.force-enable
…тут же выпадет следующее модальное оконце, в котором нужно выбрать сущность true
Готово дело! Можете перезапустить браузер и взглянуть на результат лично выполненной работы. как эпилог…
После перезапуска обозревателя firefox, снова, в адресной строке прописываем, но уже такой адрес: about:support
Откроется страничка сводки настроек браузера, а в графе «Мултипроцессные окна» (или многопроцессные…) будет записано «Разрешено пользователем» или «Включены пользователем» т.е вами, дорогой товарищ)) Внимание:
…тем, которые пользуются переводчиком (дополнением) Google Translator for Firefox и его опцией перевода выделенного текста нужно знать!! — возможно, этот способ перевода отключится! Полный перевод странички (который не всегда корректно отрабатывает) функционировать будет в обычном режиме, а вот опция «выделенного текста» нет! А вот чтобы использовать настройки опций по полной, без глюк… рекомендую правильно настраивать браузер, например — ! И как только насладимся результатом проверки, давайте уж бонусом к этой статье разберёмся: Мультипроцессорный (или многопроцессорный) режим в Firefox включаем — может кому пригодится!! Кстати, в следующей статье подробнее, так что не забудьте подписываться!! Вновь посетим адресок: В в адресной строке поиска настроек пропишем следующее: browser.tabs.remote.autostart
как только результат поиска логической строки выпал — всё здорово! Двигаемся курсоров вдоль строки вправо и меняем выставленное false
на true
Смена значений — элементарна: кликаете пару раз на фразу false она мгновенно меняется на true . А вот полезное видео о настройке не менее полезной программки MozBackup, которая замечательным образом помогает : пароли, расширения, закладки, дополнения и т.п. Очень служит при переустановке браузера или ОС — в течение минуты восстанавливается привычная работоспособность браузера. В общем, избавляет от рутины пользовательских настроек.
Документация по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html Table of Contents
What is add-on signing?
What are my options if I want to use an unsigned add-on? (advanced users)
Отключение проверки подписи через пользовательские скрипты
1. Файл config.js
1.2. Вставьте в него код:
try {
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
}
catch(ex) {}
1.4. Переместите его в директорию с установленным Firefox:2. Файл config-prefs.js
2.2. Вставьте в него код:
pref("general.config.filename", "config.js");
2.4. Переместите в "<корневая директория Firefox>\defaults\pref\
"
например "C:\Program Files\Mozilla Firefox\defaults\pref\
";
2.5 Перезапустите Firefox.Что при этом происходит
как включить мультипроцессорный режим Firefox