XPCOM 在 Firefox 扩展中对文件进行加密/解密操作

发布于 2024-12-09 21:45:00 字数 527 浏览 0 评论 0原文

我的 Firefox 扩展需要;

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

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

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

Firefox 使用 nsILoginManager 接口进行操作。

My Firefox extension needs to;

  • store user credentials in a file that will be stored in users local
    filesystem
    .
  • when credentials are needed, decrypt file read values and encrypt it
    again.
  • sometimes send encrypted file over http to a server.

I cant find any XPCOM component to encrypt / decrypt a file. Should i write my own XPCOM object, or is there any other reasonable solution for that.

[Note:]
This may like Firefox's password management system. Firefox stores master password and keys in key3.db file and use these values to access credentials stored in signons.sqlite file.

Firefox uses nsILoginManager interface for its operations.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2024-12-16 21:45:00

XPCOM 目前不提供使用 NSS 加密功能的方法。您可以使用 js-ctypes 直接调用 NSS 函数 - 不简单,但可行的。您可以查看 WeaveCrypto.js< /a> 模块用于使用对称密钥的示例实现。例如,DOMCrypt 扩展本质上捆绑了 WeaveCrypto.js 使用扩展程序,然后只调用其函数(不推荐使用随浏览器分发的版本 - 这是一个内部模块,其 API 可能随时更改)。

XPCOM doesn't currently provide a way to use the encryption capabilities of NSS. You can use js-ctypes to call NSS functions directly - not simple but doable. You can take a look at the WeaveCrypto.js module for an example implementation using symmetric keys. The DOMCrypt extension for example essentially bundles WeaveCrypto.js with the extension and only calls its functions then (using the version distributed with the browser isn't recommendable - this is an internal module and its API could change any time).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文