From 812e8ffe3192f69ab4cdf8690ba9173cd9c615a6 Mon Sep 17 00:00:00 2001 From: Tom James Holub Date: Fri, 21 Jul 2017 21:39:48 -0700 Subject: [PATCH] test added: find a valid subkey binding signature among many invalid ones | #527 --- test/general/key.js | 403 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 398 insertions(+), 5 deletions(-) diff --git a/test/general/key.js b/test/general/key.js index 16e0610b..a180b6c0 100644 --- a/test/general/key.js +++ b/test/general/key.js @@ -527,6 +527,393 @@ describe('Key', function() { '=Q/kB', '-----END PGP PUBLIC KEY BLOCK-----'].join('\n'); + var valid_binding_sig_among_many_expired_sigs_pub = [ + '-----BEGIN PGP PUBLIC KEY BLOCK-----', + 'Version: SKS 1.1.5', + 'Comment: Hostname: pgp.surfnet.nl', + '', + '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', + 'MDP0g/Hm9QAsR1g4TrOakqSw1g3p+YqPgA==', + '=Lpo7', + '-----END PGP PUBLIC KEY BLOCK-----'].join('\n'); + it('Parsing armored text with RSA key and ECC subkey in tolerant mode', function(done) { openpgp.config.tolerant = true; var pubKeys = openpgp.key.readArmored(rsa_ecc_pub); @@ -798,11 +1185,11 @@ describe('Key', function() { it('update() - merge subkey binding signatures', function() { var source = openpgp.key.readArmored(pgp_desktop_pub).keys[0]; var dest = openpgp.key.readArmored(pgp_desktop_priv).keys[0]; - expect(source.subKeys[0].bindingSignature).to.exist; + expect(source.subKeys[0].bindingSignatures[0]).to.exist; expect(source.subKeys[0].verify(source.primaryKey)).to.equal(openpgp.enums.keyStatus.valid); - expect(dest.subKeys[0].bindingSignature).to.not.exist; + expect(dest.subKeys[0].bindingSignatures[0]).to.not.exist; dest.update(source); - expect(dest.subKeys[0].bindingSignature).to.exist; + expect(dest.subKeys[0].bindingSignatures[0]).to.exist; expect(dest.subKeys[0].verify(source.primaryKey)).to.equal(openpgp.enums.keyStatus.valid); }); @@ -836,8 +1223,8 @@ describe('Key', function() { var keyFlags = openpgp.enums.keyFlags; expect(key.users[0].selfCertifications[0].keyFlags[0] & keyFlags.certify_keys).to.equal(keyFlags.certify_keys); expect(key.users[0].selfCertifications[0].keyFlags[0] & keyFlags.sign_data).to.equal(keyFlags.sign_data); - expect(key.subKeys[0].bindingSignature.keyFlags[0] & keyFlags.encrypt_communication).to.equal(keyFlags.encrypt_communication); - expect(key.subKeys[0].bindingSignature.keyFlags[0] & keyFlags.encrypt_storage).to.equal(keyFlags.encrypt_storage); + expect(key.subKeys[0].bindingSignatures[0].keyFlags[0] & keyFlags.encrypt_communication).to.equal(keyFlags.encrypt_communication); + expect(key.subKeys[0].bindingSignatures[0].keyFlags[0] & keyFlags.encrypt_storage).to.equal(keyFlags.encrypt_storage); var sym = openpgp.enums.symmetric; expect(key.users[0].selfCertifications[0].preferredSymmetricAlgorithms).to.eql([sym.aes256, sym.aes128, sym.aes192, sym.cast5, sym.tripledes]); var hash = openpgp.enums.hash; @@ -1089,5 +1476,11 @@ describe('Key', function() { }).catch(done); }).catch(done); }); + + it('Find a valid subkey binding signature among many invalid ones', function(done) { + var k = openpgp.key.readArmored(valid_binding_sig_among_many_expired_sigs_pub).keys[0]; + expect(k.getEncryptionKeyPacket()).to.not.be.null; + done(); + }); });