Comment puis-je générer une paire de clés avec Web Crypto et accéder à ses clés dans un Addo de Firefox?

J'aimerais appeler window.crypto.subtle.generateKey dans mon AddOn Firefox. Comme je ne peux pas accéder à la window dans main.js, je crée un travailleur de page avec un script de contenu :

 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') }); 

Je peux appeler window.crypto.subtle.generateKey dans call-web-crypto.js , mais je ne peux pas accéder aux principales propriétés de la paire de clés générée:

XrayWrapper a refusé l'accès à la propriété publicKey (raison: valeur non identique avec la cible). Voir https://developer.mozilla.org/en-US/docs/Xray_vision pour plus d'informations. Notez que seul le premier accès de propriété refusé à partir d'un objet global donné sera signalé.

Comment puis-je générer une paire de clés et accéder à ses clés dans mon Addon Firefox?

Dans main.js vous pouvez …

 const { Cu } = require("chrome"); Cu.importGlobalProperties(["crypto"]); 

Alors vous aurez accès à crypto.subtle.generateKey ainsi qu'à toutes les autres fonctionnalités de crypto … notez aucune window