我在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;
}