sendResponse在decryptMessage函数中不起作用

时间:2015-11-06 06:32:54

标签: javascript google-chrome-extension pgp openpgp.js

我在Chrome扩展程序中使用openpgp.js,并且sendResponse将响应发送到decryptMessage的内容脚本无法正常工作:

openpgp.decryptMessage(key, message).then(function(plaintext) {
    var res = sendResponse({result: "test"});
})

但它适用于encryptMessage函数:

openpgp.encryptMessage(publicKey.keys, base64Message).then(function(pgpMessage) {
    sendResponse({result: pgpMessage});
})

在后台控制台中没有错误,我没有线索为什么会发生这种情况。

整个onMessage处理程序:

function handleMessageEvent(request, sender, sendResponse) {
    console.log('just-encrypt');
    if(request.data.type == 'decrypt')
    {
        var key = openpgp.key.readArmored(request.data.privateKey);
        console.log(key);
        if(key.keys.length > 0)
        {
            key = key.keys[0];
            key.decrypt(request.data.password);
            var message = openpgp.message.readArmored(request.data.message);
                console.log('decrypt message');
                openpgp.decryptMessage(key, message).then(function(plaintext) {
                    console.log('decrypted');
                    sendResponse({result: 'test'});
                }).catch(function(error) {
                    console.log(error);
                });
        }
        else
        {
            chrome.extension.getBackgroundPage().console.log("no accessible keys found");
        }
      return true;
}

0 个答案:

没有答案