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

从扩展中替换/删除Firefox配置文件中的key3.db,firefox,firefox-addon,xpcom,Firefox,Firefox Addon,Xpcom,我的Firefox扩展需要在Firefox配置文件中替换/删除key3.db,有什么办法吗?我试图nsIFile.copyTo()但是文件没有被覆盖,nsIFile.remove()但是它返回NS\u ERROR\u file\u被锁定不,在使用文件时替换它不是一个好主意。相反,您应该使用XPCOM功能来操作此文件(即主密码)。像这样的方法应该会奏效: var pk11db=Components.classes[“@mozilla.org/security/pk11tokendb;1”] .ge

我的Firefox扩展需要在Firefox配置文件中替换/删除
key3.db
,有什么办法吗?我试图
nsIFile.copyTo()
但是文件没有被覆盖,
nsIFile.remove()
但是它返回
NS\u ERROR\u file\u被锁定
不,在使用文件时替换它不是一个好主意。相反,您应该使用XPCOM功能来操作此文件(即主密码)。像这样的方法应该会奏效:

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

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

谢谢,但是假设我有另一个key3.db文件,是否可以将该文件的内容复制到当前的key3.db文件中?我试图寻找,但找不到任何答案。提前谢谢。即使通过XPCOM组件?正如我所说的,您也可以设置不同的密码。您不能在文件级别工作。