从扩展中替换/删除Firefox配置文件中的key3.db

时间:2012-03-23 08:36:47

标签: firefox firefox-addon xpcom

我的Firefox扩展程序需要在Firefox配置文件中替换/删除key3.db,有没有办法做到这一点?我尝试nsIFile.copyTo(),但文件未被覆盖nsIFile.remove(),但会返回NS_ERROR_FILE_IS_LOCKED

1 个答案:

答案 0 :(得分:1)

不,在使用文件时更换文件不是一个好主意。相反,您应该使用XPCOM功能来操作此文件(意味着主密码)。这样的事情应该有效:

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

使用""代替"foobar"应删除主密码。但是,我不完全确定更改主密码可以在不查询当前密码的情况下工作。 Firefox Mobile可以用作相对简单的code example