Error handling when encrypting the verification email fails

This commit is contained in:
Thomas Oberndörfer 2019-03-12 10:45:06 +01:00
parent 9159bd5a47
commit b83f13cde2
1 changed files with 12 additions and 7 deletions

View File

@ -82,19 +82,24 @@ class Email {
* @return {string} the encrypted PGP message block
*/
async _pgpEncrypt(plaintext, publicKeyArmored) {
const {keys : [key], err} = await openpgp.key.readArmored(publicKeyArmored);
const {keys: [key], err} = await openpgp.key.readArmored(publicKeyArmored);
if (err) {
log.error('email', 'Reading armored key failed.', err, publicKeyArmored);
}
const now = new Date();
// set message creation date if key has been created with future creation date
const msgCreationDate = key.primaryKey.created > now ? key.primaryKey.created : now;
const ciphertext = await openpgp.encrypt({
message: openpgp.message.fromText(plaintext),
publicKeys: key,
date: msgCreationDate
});
return ciphertext.data;
try {
const ciphertext = await openpgp.encrypt({
message: openpgp.message.fromText(plaintext),
publicKeys: key,
date: msgCreationDate
});
return ciphertext.data;
} catch (error) {
log.error('email', 'Encrypting message failed.', error, publicKeyArmored);
util.throw(400, 'Encrypting message for verification email failed.', error);
}
}
/**