Как подписать скрипт или веб-страницу, требующую привилегии UniversalXPConnect - PullRequest
3 голосов
/ 07 сентября 2010

У меня есть веб-сайт, который использует некоторые функции, реализованные в расширении Firefox, которое я разработал. Сценарий JavaScript на одной из моих веб-страниц требует привилегии UniversalXPConnect для связи с компонентом XPCOM, реализованным в моем расширении Firefox.

По умолчанию, когда мой скрипт пытается включить эту привилегию для доступа к компоненту XPCOM:

netscape.security.PrivilegeManager.enablePrivilege ( "UniversalXPConnect");

... возникает следующая ошибка:

Ошибка: скрипту из "http://example.com" было отказано в привилегиях UniversalXPConnect.

Чтобы включить эту привилегию, в настоящее время пользователям необходимо вручную отредактировать настройку «signature.applets.codebase_principal_support» на странице «about: config» в Firefox.

С этой страницы: http://www.mozilla.org/projects/security/components/signed-scripts.html Я узнал, что можно явным образом подписать мою веб-страницу, содержащую скрипт, который требует этой привилегии. После того, как я подпишу свой скрипт, пользователям не нужно будет вручную редактировать вышеупомянутые настройки.

Сайт размещен на платформе Linux в Drupal CMS.

Я был бы очень признателен, если бы вы могли дать мне подробные пошаговые инструкции о том, как подписать мой скрипт (какие инструменты я должен загрузить, как создать сертификат и т. Д.), Чтобы после выполнения ваших инструкций редактировать about: настройка config не понадобится.

Ответы [ 2 ]

1 голос
/ 09 сентября 2012

Начиная с Firefox 16 подписывание сценария вряд ли будет работать, поскольку поддержка universalXPconnect, похоже, была удалена, и теперь вам следует использовать надстройку для дополнительных привилегий, хотя я не знаю, как это сделать. https://bugzilla.mozilla.org/show_bug.cgi?id=546848

0 голосов
/ 05 октября 2012

EnablePrivilege отключен в Firefox 15 и будет удален в Firefox 17.

проверить это:

https://developer.mozilla.org/en-US/docs/Bypassing_Security_Restrictions_and_Signing_Code

...