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



我的Firefox扩展需要替换/删除Firefox配置文件中的key3.db,有办法吗?我尝试nsIFile.copyTo(),但文件没有被覆盖,nsIFile.remove(),但它返回NS_ERROR_FILE_IS_LOCKED

不,在使用文件时替换文件不是一个好主意。相反,您应该使用XPCOM功能来操作此文件(即主密码)。像这样的东西应该起作用:

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

使用""而不是"foobar"应删除主密码。但是,我不完全确定在不查询当前密码的情况下更改主密码是否有效。Firefox Mobile可以作为一个相对简单的代码示例。

最新更新