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++) {
|
||||
keyPacket = key.getKeyPacket([signatureList[i].issuerKeyId]);
|
||||
if (keyPacket) {
|
||||
var verifiedSig = {};
|
||||
verifiedSig.keyid = signatureList[i].issuerKeyId;
|
||||
verifiedSig.valid = signatureList[i].verify(keyPacket, literalDataList[0]);
|
||||
result.push(verifiedSig);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!keyPacket) {
|
||||
throw new Error('No matching signature found for specified keys.');
|
||||
var verifiedSig = {};
|
||||
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;
|
||||
};
|
||||
|
|
|
@ -84,14 +84,11 @@ describe('Basic', function() {
|
|||
var anotherKey = openpgp.generateKeyPair({numBits: 512, userId: userid, passphrase: passphrase});
|
||||
var anotherPubKey = openpgp.key.readArmored(anotherKey.publicKeyArmored).keys[0];
|
||||
|
||||
var decrypted;
|
||||
try {
|
||||
decrypted = openpgp.decryptAndVerifyMessage(privKey, [anotherPubKey], msg);
|
||||
} catch(e) {
|
||||
expect(e).to.exist;
|
||||
expect(decrypted).to.not.exist;
|
||||
done();
|
||||
}
|
||||
var decrypted = openpgp.decryptAndVerifyMessage(privKey, [anotherPubKey], msg);
|
||||
expect(decrypted).to.exist;
|
||||
expect(decrypted.signatures[0].valid).to.be.null;
|
||||
expect(decrypted.text).to.equal(message);
|
||||
done();
|
||||
});
|
||||
|
||||
it('Performance test', function (done) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user