Comment désactiver la vérification de signature pour les add-ons Firefox?

depuis la version 42, Firefox, par défaut, refuse d'installer des add-ons non signés. Comment puis-je désactiver cette vérification?

25
demandé sur Makyen 2015-08-12 01:01:29

5 réponses

il n'est possible de désactiver la vérification des addons que dans Nuit et Développeur canal. En d'autres termes, c'est pas possible dans les versions bêta et les versions standard.

  1. about:config (saisir dans la barre d'adresse)
  2. Set xpinstall.signatures.requiredfalse.

Plus https://wiki.mozilla.org/Addons/Extension_Signing

32
répondu czerny 2016-05-25 22:47:19

Pour compléter la réponse ci-dessus, je découvre firefox-autoconfig, qui consiste à installer un autoconfig.js fichier <FIREFOX INSTALLATION DIR>/default/prefs et ci.clg fichier <FIREFOX INSTALLATION DIR> c'est un moyen de le désactiver xpinstall.signatures.required (et d'autres options aussi) définitivement et automatiquement lors de L'ouverture de Firefox (testé avec Firefox 45.0.1)

Vous verrez ceux contenus dans autoconfig.js:

//
pref("general.config.filename", "ci.cfg");
pref("general.config.obscure_value", 0);

Et ceux contenus dans ci.cfg:

// Disable checking if firefox is default browser
lockPref('browser.shell.checkDefaultBrowser', false);

// Disable restoring session
lockPref('browser.sessionstore.resume_from_crash', false);

// Disable extension signature check
lockPref('xpinstall.signatures.required', false);

// Allow extensions to be installed without user prompt
pref("extensions.autoDisableScopes", 0);
pref("extensions.enabledScopes", 15);

// Disable updater
lockPref("app.update.enabled", false);
// make absolutely sure it is really off
lockPref("app.update.auto", false);
lockPref("app.update.mode", 0);
lockPref("app.update.service.enabled", false);

// Prevent closing dialogs
lockPref("browser.showQuitWarning", false);
lockPref("browser.warnOnQuit", false);
lockPref("browser.tabs.warnOnClose", false);
lockPref("browser.tabs.warnOnCloseOtherTabs", false);

// Disable Add-ons compatibility checking
clearPref("extensions.lastAppVersion");

// Don't show 'know your rights' on first run
pref("browser.rights.3.shown", true);

//Disable plugin checking
lockPref("plugins.hide_infobar_for_outdated_plugin", true);
clearPref("plugins.update.url");

// Disable health reporter
lockPref("datareporting.healthreport.service.enabled", false);

// Disable all data upload (Telemetry and FHR)
lockPref("datareporting.policy.dataSubmissionEnabled", false);

// Disable crash reporter
lockPref("toolkit.crashreporter.enabled", false);
Components.classes["@mozilla.org/toolkit/crash-reporter;1"].getService(Components.interfaces.nsICrashReporter).submitReports = false;

// Browser Console command line
pref("devtools.chrome.enabled", true);
4
répondu Irrmich 2016-03-29 12:32:36

à partir de Firefox 47: les versions release et Beta de Firefox pour Desktop ne permettront pas l'installation d'extensions non signées, sans effet de surpassement.

pour plus d'information voir le Mozilla page Wiki sur l'Extension de Signature.

4
répondu Dalin 2016-05-07 20:39:04

Désactiver les ajouter à la signature de vérifier dans Libération (tous) les versions de Firefox

j'ai d'abord trouvé cette solution pour désactiver le contrôle de signature d'ajout forcé ce post, qui est la source originale du code (quelque peu modifié) dans cette réponse. Faire ces changements vous permettra d'installer des add-ons non signés dans les profils en utilisant la distribution Firefox que vous modifiez. Pour la plupart des gens, ce sera votre installation principale Firefox. Toutefois, si vous avez installé plusieurs versions, vous aurez besoin de faire cette modification dans chaque installation. Cependant, une fois que vous aurez fait les modifications, elles resteront dans les mises à jour normales de Firefox.

vous devrez ajouter quelques fichiers dans le répertoire D'installation de Firefox. Vous pouvez trouver un liste de répertoire d'installation exemples pour Windows, Linux et Mac OS sur mozillaZine. Les répertoires d'installation les plus courants sont:

  • fenêtres
    • C:\Program Fichiers\Mozilla Firefox\
    • C:\Program fichiers (x86)\Mozilla Firefox\
  • Linux
    • / usr/lib / firefox-
  • OSX
    • /Applications / Firefox.app

ajouter le premier fichier

vous devez alors ajouter le code ci-dessous comme le fichier <Install directory>/defaults/pref/disable-add-on-signing-prefs.js (Windows: <Install directory>\defaults\pref\disable-add-on-signing-prefs.js):

//This file should be placed in the defaults/pref directory (folder)
//within the Firefox installation directory with the with the name:
//  disable-add-on-signing-prefs.js
pref("general.config.obscure_value", 0);
pref("general.config.filename", "disable-add-on-signing.js");

ajouter le second fichier

vous devez aussi ajouter le code ci-dessous comme le fichier <Install directory>/disable-add-on-signing.js (Windows:<Install directory>\disable-add-on-signing.js):1

//This file should be placed in the Firefox installation directory
//(folder) with the with the name:
//  disable-add-on-signing.js
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
          .eval("SIGNED_TYPES.clear()");
Components.utils.import("resource://gre/modules/addons/XPIInstall.jsm", {})
          .eval("SIGNED_TYPES.clear()");

Résultats

avec la version actuelle de Firefox, j'utilise cette solution depuis un certain temps maintenant pour avoir quelques extensions que j'ai construites pour mon propre usage installé et pour tester de nouvelles versions d'extensions sur lesquelles je travaille (quand je veux tester dans le version de sortie au lieu de Firefox Developer Edition ou Nuit).

NOTE:about:addons Firefox afficher (sous certaines conditions) l'Add-on tel qu'il est activé (Non grisé), mais avoir un texte indiquant que l'add-on "n'a pas pu être vérifié et a été désactivé". Le texte n'est pas exacte! Le complément est activé et le fonctionnement.

Comment ça marche

à l'intérieur de resource://gre/modules/addons/XPIProvider.jsmconst SIGNED_TYPES est défini comme un Set. Pour un add-on pour exiger la signature, son type doit être un membre de cette Set. Set.prototype.clear() méthode est utilisée pour effacer toutes les entrées de la Set. Il n'en résulte aucun type supplémentaire nécessitant une signature ( code 1, code 2).

Si vous vouliez, vous pourriez individuellement désactiver la signature vérification de tout type: "webextension","extension","experiment", ou "apiextension".

Supprimer META-INF répertoire à partir de n'importe quelle extension modifiée

Les fichiers supplémentaires dans les sections ci-dessus éteindre l' condition que les extensions être signé. Si les fichiers de signature existent, la signature sera toujours vérifiée. Ainsi, si vous avez modifié une extension à partir d'une extension qui a été sélectionnée et que vous n'avez pas supprimé les fichiers de signature, l'extension échouera à la vérification de la signature. En d'autres termes, en réalité vérifier toute signatures est une étape distincte de l'obligation que la signature doit exister.

Si vous avez modifié une extension qui a été signé (vous pouvez dire qu'il avait été signé par l'existence d'un META-INF dans le répertoire racine de l'extension), alors vous aurez besoin de supprimer les fichiers de signature. Vous pouvez le faire en supprimant l' META-INF répertoire et tous les fichiers contenus dans ce répertoire.


1. Le code dans le blog met cet appel dans un try{}catch(){} bloc. Il n'y a vraiment pas besoin de le faire. La seule chose qui n'est d'éviter toute erreur d'être signalés dans le Console Du Navigateur ( Ctrl -Maj - J, ou Cmd -Maj - J sur OSX). Il n'y a pas de code supplémentaire qui est désiré pour être exécuté si cela échoue. En outre, je préférerais pouvoir voir l'erreur dans la Console du navigateur si cela échoue afin de savoir qu'il a, en fait, échoué. Ne pas avoir la try{}catch(){} n'a aucun effet négatif et permet de traquer le problème si, sur une future version de Firefox, les add-ons commencent à être désactivés parce qu'ils ne sont pas signés.

3
répondu Makyen 2017-09-13 23:10:24

la solution de@Makyen fonctionne mais va désactiver la vérification de signature complètement:

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

Vous savoir si l'addon est signé.

au lieu de cela, je suggérerais ceci:

/* Let unsigned addons live! */
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
          .eval("function mustSign(aType) { return false; }");
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
        .eval("XPIProvider.verifySignatures = function() {}");

il vous avertira quand vous essayez d'installer un addon non signé mais il fonctionnera quand même. L'addon est marqué comme désactivé about:addons mais est en fait actif (vous pouvez désactiver/activer manuellement comme un addon normale).

Comment il fonctionne:

  • mustSign() vérifie si la signature est requise pour ce type d'addon.

  • verifySignatures() est un callback utilisé pour vérifier les signatures à chaque XPI_SIGNATURE_CHECK_PERIOD secondes (c'est à dire une fois par jour)

0
répondu ysdx 2017-08-09 19:14:54