我想在我的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中生成密钥对并访问其密钥?
答案 0 :(得分:3)
你可以......
Pythonid
然后您就可以访问const { Cu } = require("chrome");
Cu.importGlobalProperties(["crypto"]);
以及所有其他crypto.subtle.generateKey
善良...请注意crypto