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
});