Заменить / удалить key3.db в профиле Firefox из расширения - PullRequest
0 голосов
/ 23 марта 2012

Мое расширение Firefox необходимо заменить / удалить key3.db в профиле Firefox, есть ли способ сделать это? Я пытался nsIFile.copyTo(), но файл не перезаписывается, nsIFile.remove(), но возвращается NS_ERROR_FILE_IS_LOCKED.

1 Ответ

1 голос
/ 23 марта 2012

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

var pk11db = Components.classes["@mozilla.org/security/pk11tokendb;1"]
                       .getService(Components.interfaces.nsIPK11TokenDB);
var token = pk11db.getInternalKeyToken();
token.changePassword("", "foobar");

Использование "" вместо "foobar" должно удалить мастер-пароль.Однако я не совсем уверен, что изменение мастер-пароля будет работать без запроса текущего пароля.Firefox Mobile можно использовать как сравнительно простой пример кода .

...