Цифровая подпись не может быть проверена firefox. Почему браузер Mozilla Firefox запрещает устанавливать элементы Яндекс и другие расширения. Отключение проверки подписи через пользовательские скрипты

В свете последних событий связанных с релизом Mozilla Firefox 48, который навёл шухеру среди части пользователей, в связи с обязательным наличием подписи у расширений, люди столкнувшиеся с этой проблемой встали перед выбором, либо:

  1. не пользоваться неподписанными расширениями (плохой вариант);
  2. использовать небрэндированные сборки;
  3. идти окольными путями, пытаясь отключить проверки любыми способами, некоторые из которых предложены в следующих комментариях:
  4. подписать необходимое расширение самостоятельно.
Как вы уже догадались, здесь пойдёт речь о последнем способе. Если мы не планируем распространять расширения через официальный каталог, то подпись мы можем получить без ручных проверок, т.е. легко и просто.

Для этого нам понадобятся:
  1. учётная запись на addons.mozilla.org
  2. установленный nodejs версии >= 0.10
  3. npm версии >=3.0.0 (npm up npm)
  4. jpm для nodejs (npm install jpm).
Будем рассматривать процесс подписания на примере расширения «Random Agent Spoofer». Данное расширение содержит список юзер-агентов, которые довольно быстро устаревают, а обновляется дополнение не часто. В свою очередь, в официальном репозитории файлы с нужными нам данными обновляются регулярно и возникает закономерное желание пустить их в дело.

Итак, учётную запись зарегистрировали, программное окружение установлено, можно приступать.

Берём подопытное расширение и распаковываем его в отдельную папку, в нашем случае используем слепок репозитория, расположенного по адресу 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: Секрет JWT:

Где Ваш персональный ключ. И в заключение, собственно, сам акт подписания осуществляем скомандовав:

Jpm sign --api-key --api-secret --xpi <путь к расширению полученному на предыдущем шаге>

Если всё пройдёт без ошибок и автоматическая проверка будет пройдена, то в текущем каталоге мы получим подписанное расширение, в котором и нуждались.

Полезные ссылки:
Документация по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html

Всем спасибо за внимание, удачи!

Mozilla Firefox иногда (или частенько) буксует — к примеру, запрещает устанавливать некоторые расширения, по его мнению — вредные, запрещённые к установке. Говорят, всё это для нашей защиты: «Дополнение не может быть загружено из-за ошибки соединения.». Или — «Firefox заблокировал запрос на установку программного обеспечения с этого сайта».

А как быть!? если я привык к какому-то расширению и не могу жить без него иначе… и мне наплевать на все эти фронтовые дрязги разработчиков и их своеобразные прочтения сертификатов…

Что жж… давайте всё-таки привычное дополнение установим… …рассмотрим, например, случай, когда браузер Фаерфокс запрещает к установке элементы Яндекс (ниже будет ссылка на пост, в котором говорится о том, как добавить Яндекс закладки в Фаерфокс 55.0.2 ).


…однажды мы решаем установить дополнение к браузеру Mozilla Firefox элементы Яндекс… По-началу установки всё здорово как бы!

Но — ближе к финалу, выпадает такое предупреждающее окошко:

«Дополнение не может быть загружено…»

Кто виноват… Что делать…

Firefox заблокировал запрос на установку программного обеспечения с этого сайта

В каких версиях эта буза с запрещениями установок расширений и компонентов поднялась, я не знаю. Не вникаю в эти дуэли неправильных сертификатов, именно они и их несоответствие приводят к блоку.

Да и бессмысленно постигать непостижимое, ибо возможно скорее запутаться в датах и темах, и к тому же затруднительно рассчитать и предугадать какую пику друг дружке замастырят в следующий раз the opposite разработчики.

Я лично, чтобы избегать все эти нестыковки … пользуюсь чётко настроенным по своим нуждам браузером Фаерфокс и его . По возможности пасую некоторые обновления: ну по крайней мере всегда готовлюсь к ним.

Здорово помогает в этом замечательная программка МозБекап, которой возможно сохранять все личные данные браузера — пароли, расширения, закладки и т. п. …и регулировать их, конечно же, .

Итак: как и говорилось выше, не помню версии браузера в котором впервые обнаружилась закавыка запрета, а раз не помню (и никто из простых смёртных не помнит), значит — точного эликсира нет!! однако — покажу пару вариантов на свободную установку выбранных дополнений: (какой-то из них точно заработает — у меня понёс по кочкам запрещения второй))

чтобы отключить ЗАПРЕЩЕНИЕ Firefox на установку расширений —

сделаем так:

Воспользуемся скрытыми настройками браузера Mozilla Firefox.

В адресной строке браузера пропишите следующий вензель:

…и кликаем «Enter»

Важно: при переходе к этим «скрытым» настойкам, браузер выдаёт такое забавное окошко, в котором предупреждает быть аккуратнее — осторожнее!

Как вы понимаете, нужно пообещать быть внимательным.

Тогда нас перенесёт в святая-святых браузера — в ленту технических настроек:

…затем, в «поиске» по ленте настроек (она где-то сверху) запишем такую фразу:

Внимание: возможно, есть смысл, коли у вас будет установлено значение false , заметить его на true — эксперимент — наше всё!

В качестве дополнения к материалу, для тех пользователей, которые подумывают приручить компьютер и быть с ним на «ТЫ»:

В среде программистов, (а в общем-то, возможно, помните ещё из уроков информатики) такие простые логические значения (понятия, если хотите) как TRUE – означающее истину и FALSE – означающее ложь. Если попросту «истина» — разрешение, а «ложь», соответственно — запрет.

А ещё в некоторых случаях языков программирования за значение «истина» законно прокатывает 1, и за значение ложь - 0.

Логический тип данных, или булев тип, или булевый тип (от англ. Boolean или logical data type) в честь Джорджа Буля (что весьма логично)) — математик и логик был такой.

Но это так, слегка касаясь темы…

А познавать все глубины оптимального интернета мы будем от статьи к статье) так что есть смысл подписаться




Итак, после того как подписались)) — перезапускаемся… браузер, в смысле…

Должно заработать!

Если браузер не послушался приказа (помните: «запретили запрет») — хрен с ним. Хотя такого быть не должно: о тонкостях расскажу в следующей статье, чтобы ближе по теме…

Второй вариант — теперь точно заработает… Сделаем так: и научимся…

как устанавливать расширения браузера Фаерфокс с помощью сохранённого файла

Предположим вам нужно прикрутить к браузеру элементы Янднекс (все иные расширения устанавливается по аналогии).

Переходим на официальную страничку установки — если нужно, вот ссылка //element.yandex.ru/?from=wizard___one

Фото ниже: наводим курсор на «Установить»… прижимаем правой кнопкой мыши, и в выпадающем меню выбираем «Сохранить как…»

Указываем папку для сохранения, и к вам через минутку прилетит такой файлик:

YandexElement.xpi

Полдела сделано!

В меню браузера Фаерфокс «Инструменты» выбираем «Дополнения».

На открывшейся страничке, слева — в вертикальном меню кликаем «Службы».

Мгновение..! …и око зрит:

…что — на открывшейся страничке в правом верхнем углу есть значок «шестерёнка» кликаем по этой шестерне (это настройки), а в выпавшем окошке-меню выбираем опцию «Установить из файла…»

Ну, вы, думаю, догадались.

Нужно указать путь (папку) в которой сохранён ценный файл расширения.

Минута… и дополнение установлено. Заметьте — без всяких трогательных запрещений и божечкой заботы о нас грешных…

А мы… продолжаем: переходим к следующей статье о том, как …

И… — подписывайтесь, впереди много полезного для лёгкой работы по правилам оптимального интернета!


!..подписываясь на обновления сайт -
...расстаёмся с невежеством..!


...город веб мастеров Михалика.ru © - запросто с WordPress

В общем, это просто! А посему давайте отключим запрет браузера 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

Мультипроцессорный (или многопроцессорный) режим в Firefox включаем — может кому пригодится!!

Кстати, в следующей статье подробнее, так что не забудьте подписываться!!

Вновь посетим адресок:

В в адресной строке поиска настроек пропишем следующее:

browser.tabs.remote.autostart

как только результат поиска логической строки выпал — всё здорово! Двигаемся курсоров вдоль строки вправо и меняем выставленное false на true

Смена значений — элементарна: кликаете пару раз на фразу false она мгновенно меняется на true .

А вот полезное видео о настройке не менее полезной программки MozBackup, которая замечательным образом помогает : пароли, расширения, закладки, дополнения и т.п.

Очень служит при переустановке браузера или ОС — в течение минуты восстанавливается привычная работоспособность браузера.

В общем, избавляет от рутины пользовательских настроек.

В свете последних событий связанных с релизом Mozilla Firefox 48, который навёл шухеру среди части пользователей, в связи с обязательным наличием подписи у расширений, люди столкнувшиеся с этой проблемой встали перед выбором, либо:

  1. не пользоваться неподписанными расширениями (плохой вариант);
  2. использовать небрэндированные сборки;
  3. идти окольными путями, пытаясь отключить проверки любыми способами, некоторые из которых предложены в следующих комментариях:
    https://geektimes.ru/post/279132/#comment_9480372
    https://geektimes.ru/post/279132/#comment_9480382
  4. подписать необходимое расширение самостоятельно.
Как вы уже догадались, здесь пойдёт речь о последнем способе. Если мы не планируем распространять расширения через официальный каталог, то подпись мы можем получить без ручных проверок, т.е. легко и просто.

Для этого нам понадобятся:
  1. учётная запись на addons.mozilla.org
  2. установленный nodejs версии >= 0.10
  3. npm версии >=3.0.0 (npm up npm)
  4. jpm для nodejs (npm install jpm).
Будем рассматривать процесс подписания на примере расширения «Random Agent Spoofer». Данное расширение содержит список юзер-агентов, которые довольно быстро устаревают, а обновляется дополнение не часто. В свою очередь, в официальном репозитории файлы с нужными нам данными обновляются регулярно и возникает закономерное желание пустить их в дело.

Итак, учётную запись зарегистрировали, программное окружение установлено, можно приступать.

Берём подопытное расширение и распаковываем его в отдельную папку, в нашем случае используем слепок репозитория, расположенного по адресу 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: Секрет JWT:

Где Ваш персональный ключ. И в заключение, собственно, сам акт подписания осуществляем скомандовав:

Jpm sign --api-key --api-secret --xpi <путь к расширению полученному на предыдущем шаге>

Если всё пройдёт без ошибок и автоматическая проверка будет пройдена, то в текущем каталоге мы получим подписанное расширение, в котором и нуждались.

Полезные ссылки:
Документация по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html

Всем спасибо за внимание, удачи!

43-я версия Mozilla Firefox на каналах Stable и Beta блокирует установку неподписанных расширений.

Для отмены проверки подписи у расширений можно изменить настройки:

  • в адресной строке введите about:config и перейдите на страницу;
  • нажмите кнопку "Я обещаю, что буду осторожен" на странице предупреждения;
  • в поле "Поиск" введите название параметра: xpinstall.signatures.require ;
  • найдите его в списке и дважды нажмите на него, чтобы значение "true" изменилось на "false"

Отключение проверки подписи через пользовательские скрипты

В Firefox 48 для Stable и Beta каналов, Mozilla отменила действие параметра xpinstall.signatures.require. На каналах Dev, Nightly и ESR, а так же в сборке Firefox Unbranded, которая представляет собой стабильную версию, параметр ещё доступен.

Все расширения представленные в основном репозитории Mozilla, подписаны в отличае от расширений из сторонних источников.

На сегодня существует множество расширений, предоставляемых приложениями, на платформах разработки Github и Bitbucket, а так же старые расширения, которые больше не поддерживаются разработчиками и не могут быть подписаны. Все они не могут быть установлены в Firefox Stable или Beta стандартными средствами.

Этот способ подразумевает создание двух файлов в основной директории, откуда запускается Firefox.

1. Файл config.js

1.1. Создайте текстовый файл;
1.2. Вставьте в него код:

//
try {
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
}
catch(ex) {}

1.3. Переименуйте его в "config.js". Убедитесь, что он называется config.js а не config.js.txt;
1.4. Переместите его в директорию с установленным Firefox:

  • Windows - "C:\Program Files\Mozilla Firefox\ " или "C:\Program Files (x86)\Mozilla Firefox\ ";
  • Linux - "/usr/lib/firefox-<версия> " или "/usr/lib64/firefox-<версия> ";
  • OSX - "/Applications/Firefox.app/ ".

Это каталоги установки Firefox по умолчанию. Они могут отличаться в зависимости от ваших настроек при установке или дистрибутива Linux. Важно чтобы файл оказался в корневой директории программы.

2. Файл config-prefs.js

2.1. Создайте второй текстовый файл;
2.2. Вставьте в него код:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");

2.3. Переименуйте в config-prefs.js;
2.4. Переместите в "<корневая директория Firefox>\defaults\pref\ "
например "C:\Program Files\Mozilla Firefox\defaults\pref\ ";
2.5 Перезапустите Firefox.

Теперь вы можете устанавливать расширения с подписью и без в Firefox Stable или Beta.

Что при этом происходит

Код в файле config.js, загружает один из конфигурационных файлов Firefox и удаляет информацию из константы "Signed_Types" в этом файле. Эта константа определяет типы дополнений и расширений, которые должны быть подписаны для установки.

Некоторые расширения, например, темы, не должны быть подписаны. Таким образом, код очищает константу от всех типов дополнений, поэтому установка любого из них не требует наличия подписи.

Код во втором файле указывает Firefox загрузить файл config.js при запуске.

Странно что это на столько просто, учитывая то что обязательная подпись расширений используется для повышения безопасности.