Warn user with signature null for wrong public key instead of exception.
This commit is contained in:
parent
62debad52d
commit
8c93688b0e
|
@ -236,16 +236,18 @@ Message.prototype.verify = function(keys) {
|
||||||
for (var i = 0; i < signatureList.length; i++) {
|
for (var i = 0; i < signatureList.length; i++) {
|
||||||
keyPacket = key.getKeyPacket([signatureList[i].issuerKeyId]);
|
keyPacket = key.getKeyPacket([signatureList[i].issuerKeyId]);
|
||||||
if (keyPacket) {
|
if (keyPacket) {
|
||||||
var verifiedSig = {};
|
|
||||||
verifiedSig.keyid = signatureList[i].issuerKeyId;
|
|
||||||
verifiedSig.valid = signatureList[i].verify(keyPacket, literalDataList[0]);
|
|
||||||
result.push(verifiedSig);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!keyPacket) {
|
var verifiedSig = {};
|
||||||
throw new Error('No matching signature found for specified keys.');
|
if (keyPacket) {
|
||||||
|
verifiedSig.keyid = signatureList[i].issuerKeyId;
|
||||||
|
verifiedSig.valid = signatureList[i].verify(keyPacket, literalDataList[0]);
|
||||||
|
} else {
|
||||||
|
verifiedSig.keyid = key.primaryKey.keyid;
|
||||||
|
verifiedSig.valid = null;
|
||||||
}
|
}
|
||||||
|
result.push(verifiedSig);
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
|
@ -84,14 +84,11 @@ describe('Basic', function() {
|
||||||
var anotherKey = openpgp.generateKeyPair({numBits: 512, userId: userid, passphrase: passphrase});
|
var anotherKey = openpgp.generateKeyPair({numBits: 512, userId: userid, passphrase: passphrase});
|
||||||
var anotherPubKey = openpgp.key.readArmored(anotherKey.publicKeyArmored).keys[0];
|
var anotherPubKey = openpgp.key.readArmored(anotherKey.publicKeyArmored).keys[0];
|
||||||
|
|
||||||
var decrypted;
|
var decrypted = openpgp.decryptAndVerifyMessage(privKey, [anotherPubKey], msg);
|
||||||
try {
|
expect(decrypted).to.exist;
|
||||||
decrypted = openpgp.decryptAndVerifyMessage(privKey, [anotherPubKey], msg);
|
expect(decrypted.signatures[0].valid).to.be.null;
|
||||||
} catch(e) {
|
expect(decrypted.text).to.equal(message);
|
||||||
expect(e).to.exist;
|
done();
|
||||||
expect(decrypted).to.not.exist;
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Performance test', function (done) {
|
it('Performance test', function (done) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user