如何使用Web Crypto生成密钥对并在Firefox AddOn中访问其密钥?

时间:2015-11-06 08:38:12

标签: javascript firefox firefox-addon webcryptoapi

我想在我的Firefox AddOn中调用window.crypto.subtle.generateKey。由于我无法访问 main.js 中的window,因此我使用page-worker创建content script

var self = require('sdk/self');
var cryptoScript = require('sdk/page-worker').Page({
  contentURL: self.data.url('empty.html'),
  contentScriptFile: self.data.url('call-web-crypto.js')
});

我可以在 call-web-crypto.js 中调用window.crypto.subtle.generateKey,但我无法访问生成的密钥对的关键属性:

XrayWrapper拒绝访问属性publicKey(原因:值与目标不相同)。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Xray_vision。请注意,只会报告来自给定全局对象的第一个被拒绝的属性访问。

如何在Firefox Addon中生成密钥对并访问其密钥?

1 个答案:

答案 0 :(得分:3)

main.js 中的

你可以......

Pythonid

然后您就可以访问const { Cu } = require("chrome"); Cu.importGlobalProperties(["crypto"]); 以及所有其他crypto.subtle.generateKey善良...请注意crypto