2

Ich verwandle meine SDK-basierte Firefox-Erweiterung in WebExtensions und ich bin auf das Problem der Aktualisierung der Erweiterung gekommen. Die aktuelle Erweiterung wird in meiner eigenen Domäne (die eine HTTP-Domäne ist) gehostet, zusammen mit der Datei update.rdf.Aktualisieren von selbst gehosteten Erweiterungen über HTTP

Jetzt, für SDK-basierte Add-Ons, waren Updates über HTTP möglich, solange das Update-Manifest mit dem Tool McCoy signiert wurde und der gültige Hash der Update-Datei im Manifest bereitgestellt wurde. Darüber hinaus würde install.rdf den öffentlichen Schlüsselabschnitt des Schlüssels enthalten, der zum Signieren der update.rdf verwendet wird.

Es scheint keine Optionen, um dies die Web-Erweiterungen verwenden zu tun (kein offensichtlicher Eintrag für öffentliche Schlüssel und kein Update Manifest (.json) Eintrag für die Unterschrift).

Bedeutet dies, dass Firefox nur selbst gehostete Erweiterungen über HTTPS aktualisieren kann? Wie wirkt sich dies auf SDK-basierte Erweiterungen aus, die derzeit in HTTP-Domänen gehostet werden? Können sie (mindestens) ein Update erhalten?

Antwort

2

Wie Sie festgestellt haben, muss die update.rdf für WebExtensions-basierte Add-ons über HTTPS, nicht HTTP bedient werden. Die URL für die Datei update.rdf muss HTTPS lauten. Die documentation for the update_url property in the manifest.jsonapplications key ist ausdrücklich in diesem Punkt:

  • update_url ist ein Link zu einem add-on update manifest. Beachten Sie, dass der Link mit "https" beginnen muss. Dieser Schlüssel dient zur Verwaltung von Erweiterungsupdates selbst (d. H. Nicht über AMO).

Es gibt keine Möglichkeit, die alternative Sicherheitsmethode zu verwenden, die auf andere Arten von Add-ons zur Verfügung steht, ein updateKey die Bereitstellung (und die Unterzeichnung der update.rdf) in einer install.rdf Datei mit inbegriffen die Erweiterung.

Add-on SDK basierte Erweiterungen und andere Arten von Nicht-WebExtensions Add-ons, wird weiterhin in der Lage sein, ihre erhalten update.rdf über HTTP auf die gleiche Weise, die sie getan haben.

Wenn Ihr Problem ein Add-On von einem add-on SDK-basierten Add-On zu einem WebExtensions-basierten Add-On übergeht, benötigen Sie ein Update für diese Erweiterung, durch das die URL geändert wird Updates werden bereitgestellt. Dies kann entweder in einigen Versionen vor dem Wechsel zu WebExtensions oder gleichzeitig sein. So oder so, es ist nur eine neue Version des Add-ons (angezeigt mit der update.rdf über HTTP bedient und entsprechend signiert). Diese neue Version wird dann eine update_url (WebExtensions) oder updateURL (alle anderen Typen) haben, wo die URL das HTTPS-Schema verwendet. Alle folgenden update.rdf Dateien werden dann über HTTPS bereitgestellt.

Verwandte Themen