Я разрабатываю расширение Thunderbird, которое в основном выполняется на JavaScript. Я хочу использовать несколько функций из библиотеки Mozilla NSS (Network Security Services) в JavaScript. В Thunderbird есть одна оболочка JavaScript, названная WeaveCrypto.js, которую я сейчас использую. Проблема с WeaveCrypto - это его возраст (AES-256-CBC, возможно, был достаточно хорош в 2010 году, но сегодня он больше не рекомендуется, например, через this. SHA1 также не рекомендуется в качестве prf-алгоритма в PBKDF2 anymore.) И жестко закодированные значения, такие как итерации, алгоритмы и длины ключей.Использование библиотеки NSS Mozilla в JavaScript (например, WeaveCrypto.js)
JavaScript Crypto уже попал в «Архив устаревшего контента», а DOMCrypt доступен только в Firefox.
Я сейчас общаюсь с Джастином Долске, разработчиком WeaveCrypto. Его нынешний прием заключается в том, что я мог разблокировать WeaveCrypto, и если я добавлю только идентификаторы алгоритмов и изменяю только небольшие фрагменты логики (например, жестко заданные значения для сменных), они, скорее всего, добавят мою разветвленную версию в Thunderbird.
Я сделаю, что если у меня есть, но это звучит немного странно для меня, что огромная NSS библиотека не является полностью доступной и полезной в JavaScript без дополнительных усилий, даже несмотря на все логики Firefox и Thunderbird расширений написано на этом точном языке (или я что-то пропустил?).
Любые идеи оценили :)
Более 4 лет назад возник подобный вопрос (http://stackoverflow.com/questions/7753130/xpcom-encrypt-decrypt-operation-on-file-in-firefox-extension), но, возможно, что-то изменилось с тех пор тогда. – BeYonD