Firefox扩展中的文件上的XPCOM加密/解密操作

时间:2011-10-13 11:03:05

标签: firefox xpcom encryption

我的Firefox扩展需要;

  • 将用户凭据存储在文件中,该文件将存储在用户本地 文件系统即可。
  • 需要凭据时,解密文件读取值并加密 试。
  • 有时通过 http 将加密文件发送到服务器。

我无法找到任何 XPCOM 组件来加密/解密 文件。我应该编写自己的XPCOM对象,还是有任何其他合理的解决方案。

[注:] 这可能是Firefox的密码管理系统。 Firefox将主密码和密钥存储在key3.db文件中,并使用这些值访问存储在signons.sqlite文件中的凭据。

Firefox使用nsILoginManager接口进行操作。

1 个答案:

答案 0 :(得分:2)

XPCOM目前不提供使用NSS加密功能的方法。您可以使用js-ctypes直接调用NSS函数 - 不是简单但可行。您可以查看WeaveCrypto.js模块,了解使用对称密钥的示例实现。 DOMCrypt extension例如基本上将WeaveCrypto.js与扩展捆绑在一起,然后仅调用其功能(使用随浏览器分发的版本是不可取的 - 这是一个内部模块,其API可能随时更改)