Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我在使用Openpgpjs加密消息时出错?_Javascript_Pgp - Fatal编程技术网

Javascript 为什么我在使用Openpgpjs加密消息时出错?

Javascript 为什么我在使用Openpgpjs加密消息时出错?,javascript,pgp,Javascript,Pgp,我试图在我的应用程序上实现openpgpjs,因为我需要使用公钥(PGP)加密字符串。我测试了这个jsfiddle(),它使用公钥加密字符串,效果非常好。我甚至用不同的键和字符串测试了它 var message = "secret message"; const encryptMessage = async() => { if(window.crypto.getRandomValues){ if(message != ""){ const publicKeyStrin

我试图在我的应用程序上实现openpgpjs,因为我需要使用公钥(PGP)加密字符串。我测试了这个jsfiddle(),它使用公钥加密字符串,效果非常好。我甚至用不同的键和字符串测试了它

var message = "secret message";
const encryptMessage  = async() => {
if(window.crypto.getRandomValues){
    if(message != ""){
      const publicKeyString = document.getElementById("pubkey").innerHTML;
      var options = {
          message: openpgp.message.fromText(message),
          publicKeys: (await openpgp.key.readArmored(publicKeyString)).keys
     };


     openpgp.encrypt(options).then(ciphertext => {
         alert(ciphertext.data);
     })
  }
} else{
    window.alert("This browser does not support basic cryptography!");
  }
}

encryptMessage();
但是,如果我完全复制该代码并尝试在本地运行(使用与该fiddle相同的cdn),则会出现以下错误:

未捕获(承诺中)错误:加密消息时出错:未提供密钥、密码或会话密钥


我怎样才能修好它

您的脚本可能在DOM元素存在之前运行。检查您的脚本可能在DOM元素存在之前运行。检查