Операция XPCOM Encrypt / Decrypt для файла в расширении Firefox - PullRequest
1 голос
/ 13 октября 2011

Мое расширение Firefox должно;

  • хранить пользователя учетные данные в файле , который будет храниться в пользователях локально Файловая система .
  • когда необходимы учетные данные, расшифровать файл прочитать значения и зашифровать это еще раз.
  • иногда отправлять зашифрованный файл через http на сервер.

Я не могу найти любой XPCOM компонент для шифрования / дешифрования a файла . Должен ли я написать свой собственный объект XPCOM или есть какое-то другое разумное решение для этого.

[Примечание:] Это может понравиться система управления паролями Firefox. Firefox сохраняет главный пароль и ключи в файле key3.db и использует эти значения для доступа к учетным данным, хранящимся в файле signons.sqlite.

Firefox использует интерфейс nsILoginManager для своих операций.

1 Ответ

2 голосов
/ 13 октября 2011

XPCOM в настоящее время не предоставляет способ использования возможностей шифрования NSS . Вы можете использовать js-ctypes для прямого вызова функций NSS - не просто, но выполнимо. Вы можете взглянуть на модуль WeaveCrypto.js для примера реализации с использованием симметричных ключей. Например, расширение DOMCrypt , по существу, связывает WeaveCrypto.js с расширением и вызывает его функции только тогда (использование версии, распространяемой с браузером, не рекомендуется - это внутренний модуль, и его API может измениться в любое время ).

...