From be776c61b19349153d07474c5ac77b3a18875fbb Mon Sep 17 00:00:00 2001 From: Aydar Zartdinov Date: Sat, 4 Mar 2017 19:27:27 +0000 Subject: [PATCH] Validate signatures by all suitable keys --- src/key.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/key.js b/src/key.js index d2749d85..6c6125c1 100644 --- a/src/key.js +++ b/src/key.js @@ -836,11 +836,12 @@ User.prototype.verifyAllSignatures = function(primaryKey, keys) { var dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey }; var certificates = this.selfCertifications.concat(this.otherCertifications || []); return certificates.map(signaturePacket => { - var keyPacket = keys.filter(key => key.getSigningKeyPacket(signaturePacket.issuerKeyId))[0] || null; - return { - keyid: signaturePacket.issuerKeyId, - valid: keyPacket && signaturePacket.verify(keyPacket.primaryKey, dataToVerify) - }; + var keyPackets = keys.filter(key => key.getSigningKeyPacket(signaturePacket.issuerKeyId)); + var valid = null; + if (keyPackets.length > 0) { + valid = keyPackets.some(keyPacket => signaturePacket.verify(keyPacket.primaryKey, dataToVerify)); + } + return { keyid: signaturePacket.issuerKeyId, valid: valid }; }); };