Zajmuję się rozszerzeniem firefox i chciałbym zapewnić automatyczną aktualizację moim beta-testerom (którzy nie znają się na technologii). Niestety serwer aktualizacji nie zapewnia protokołu HTTPS. Zgodnie z Extension Developer Guide on signing updates, muszę podpisać mój update.rdf i dostarczyć zakodowany klucz publiczny w pliku install.rdf.Zautomatyzuj podpis manifestu update.rdf dla mojego rozszerzenia firefox
Istnieje narzędzie McCoy do do all of this, ale jest to interaktywne narzędzie GUI i chciałbym zautomatyzować opakowanie rozszerzeń za pomocą skryptu Ant (ponieważ jest to część znacznie większego procesu). Nie mogę znaleźć dokładniejszego opisu tego, co się dzieje, aby podpisać manifest update.rdf niż poniżej, a źródło McCoya to bardzo dużo javascriptu.
Doc mówi:
Add-on autor tworzy publicznego/prywatnego RSA kryptograficzny parę kluczy. Publiczna część klucza jest zakodowana w DER, a następnie w podstawie 64 zakodowana i dodana do install.rdf dodatku jako wpis updateKey.
(...)
Ogólnie rzecz biorąc informacje o aktualizacji jest konwertowany na ciąg znaków, a następnie zakodowane przy użyciu algorytmu SHA512 mieszaja a ten skrót jest podpisany przy użyciu klucza prywatnego. Wynikowe dane są zakodowane DER, a następnie 64-literowe kodowane w celu włączenia do update.rdf jako wpis do podpisu.
Nie wiem dobrze o kodowaniu DER, ale wygląda na to, że potrzebuje pewnych parametrów.
Więc ktoś wie
- albo pełny algortihm do podpisania update.rdf i install.rdf użyciu predefiniowanego parę kluczy, albo skrypty alternatywę dla McCoya
- , czy narzędzia wiersza polecenia jak asn1coding będzie suffise
- dobry/prosty samouczek deweloper na kodowaniu DER
pod WinXP/Cygwin Zmieniłem wiersz # 55 na nasz $ tmp = catfile (curdir(), "update.rdf.mxtools. $$. Tmp"); w uhura bat –
rzeczywiście używamy go na Linuksie!btw, mieliśmy dość podpisywania plików update.rdf i zarządzania powiązanym kluczem, więc przeszliśmy do HTTPS: //; obecnie certyfikaty SSL są przyzwoicie tanie ... – Stefano
Jest teraz 2015, a tworzenie dodatków do Firefoksa to wciąż piekło. Jestem przekonany, że * Mozilla * jest zła. – makhdumi