Opengpg.js Encrypt/Decrypyt 示例

Opengpg.js Encrypt/Decrypyt example

我正在尝试对 opengpg.js 工作进行简单测试。

我得到以下输出:

Encrypted Message[object Object]

这段代码中的什么导致了这个错误?

var openpgp = require('openpgp');

var options = {
    numBits: 1024,
    userId: 'user@localhost',
    passphrase: 'password'
};

openpgp.generateKeyPair(options).then(function(keypair) {

    var privkey = keypair.privateKeyArmored;
    var pubkey = keypair.publicKeyArmored;

    console.log("Pub key" + pubkey + "\n\n");

    var publicKey = openpgp.key.readArmored(pubkey);
    var pgpMessage = openpgp.encryptMessage(publicKey.keys,"Hello");

    console.log("Encrypted Message" + pgpMessage + "\n\n");

    }).catch(function(error) {
    // failure
    console.log("Error: " + error);
});

我的回答基于以下假设:"error" 你的意思是 "unexpected output".

openpgp.encryptMessagereturns一个promise, not the encrypted text. See the opengpg.js documentation

要从承诺中获取价值,它与任何其他承诺相同:

openpgp.encryptMessage(publicKey.keys,"Hello").then(function(pgpMessage) {
    // success
    console.log("Encrypted Message" + pgpMessage + "\n\n");
}).catch(function(error) {
    // failure
});