Opengpg.js Пример шифрования / дешифрования

Я пытаюсь получить простой тест работы 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);
});

1 ответ

Решение

Я основываю этот ответ на предположении, что под "ошибкой" вы подразумеваете "неожиданный вывод".

openpgp.encryptMessage возвращает обещание, а не зашифрованный текст. Смотрите документацию opengpg.js.

Чтобы получить значение из обещания, оно аналогично любому другому обещанию:

openpgp.encryptMessage(publicKey.keys,"Hello").then(function(pgpMessage) {
    // success
    console.log("Encrypted Message" + pgpMessage + "\n\n");
}).catch(function(error) {
    // failure
});
Другие вопросы по тегам