Validate signatures by all suitable keys

This commit is contained in:
Aydar Zartdinov 2017-03-04 19:27:27 +00:00
parent d5e88c7c79
commit be776c61b1

View File

@ -836,11 +836,12 @@ User.prototype.verifyAllSignatures = function(primaryKey, keys) {
var dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey }; var dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey };
var certificates = this.selfCertifications.concat(this.otherCertifications || []); var certificates = this.selfCertifications.concat(this.otherCertifications || []);
return certificates.map(signaturePacket => { return certificates.map(signaturePacket => {
var keyPacket = keys.filter(key => key.getSigningKeyPacket(signaturePacket.issuerKeyId))[0] || null; var keyPackets = keys.filter(key => key.getSigningKeyPacket(signaturePacket.issuerKeyId));
return { var valid = null;
keyid: signaturePacket.issuerKeyId, if (keyPackets.length > 0) {
valid: keyPacket && signaturePacket.verify(keyPacket.primaryKey, dataToVerify) valid = keyPackets.some(keyPacket => signaturePacket.verify(keyPacket.primaryKey, dataToVerify));
}; }
return { keyid: signaturePacket.issuerKeyId, valid: valid };
}); });
}; };