def test_set_acceptable_keys(self): self.requireFeature(features.gpg) self.import_keys() my_gpg = gpg.GPGStrategy(FakeConfig()) my_gpg.set_acceptable_keys("*****@*****.**") self.assertEqual(my_gpg.acceptable_keys, [u'B5DEED5FCB15DAE6ECEF919587681B1EE3080E45'])
def test_verify_valid_but_untrusted(self): self.requireFeature(features.gpg) self.import_keys() content = b"""-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 bazaar-ng testament short form 1 revision-id: [email protected] sha1: 6411f9bdf6571200357140c9ce7c0f50106ac9a4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBAgAGBQJN+ekFAAoJEIdoGx7jCA5FGtEH/i+XxJRvqU6wdBtLVrGBMAGk FZ5VP+KyXYtymSbgSstj/vM12NeMIeFs3xGnNnYuX1MIcY6We5TKtCH0epY6ym5+ 6g2Q2QpQ5/sT2d0mWzR0K4uVngmxVQaXTdk5PdZ40O7ULeDLW6CxzxMHyUL1rsIx 7UBUTBh1O/1n3ZfD99hUkm3hVcnsN90uTKH59zV9NWwArU0cug60+5eDKJhSJDbG rIwlqbFAjDZ7L/48e+IaYIJwBZFzMBpJKdCxzALLtauMf+KK8hGiL2hrRbWm7ty6 NgxfkMYOB4rDPdSstT35N+5uBG3n/UzjxHssi0svMfVETYYX40y57dm2eZQXFp8= =iwsn -----END PGP SIGNATURE----- """ plain = b"""bazaar-ng testament short form 1 revision-id: [email protected] sha1: 6411f9bdf6571200357140c9ce7c0f50106ac9a4 """ my_gpg = gpg.GPGStrategy(FakeConfig()) self.assertEqual((gpg.SIGNATURE_NOT_VALID, None, plain), my_gpg.verify(content))
def test_set_acceptable_keys_unknown(self): self.requireFeature(features.gpg) my_gpg = gpg.GPGStrategy(FakeConfig()) self.notes = [] def note(*args): self.notes.append(args[0] % args[1:]) self.overrideAttr(trace, 'note', note) my_gpg.set_acceptable_keys("unknown") self.assertEqual(my_gpg.acceptable_keys, []) self.assertEqual(self.notes, ['No GnuPG key results for pattern: unknown'])
def test_verify_unknown_key(self): self.requireFeature(features.gpg) self.import_keys() content = b"""-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 asdf -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBAgAGBQJOORKwAAoJENf6AkFdUeVvJDYH/1Cz+AJn1Jvy5n64o+0fZ5Ow Y7UQb4QQTIOV7jI7n4hv/yBzuHrtImFzYvQl/o2Ezzi8B8L5gZtQy+xCUF+Q8iWs gytZ5JUtSze7hDZo1NUl4etjoRGYqRfrUcvE2LkVH2dFbDGyyQfVmoeSHa5akuuP QZmyg2F983rACVIpGvsqTH6RcBdvE9vx68lugeKQA8ArDn39/74FBFipFzrXSPij eKFpl+yZmIb3g6HkPIC8o4j/tMvc37xF1OG5sBu8FT0+FC+VgY7vAblneDftAbyP sIODx4WcfJtjLG/qkRYqJ4gDHo0eMpTJSk2CWebajdm4b+JBrM1F9mgKuZFLruE= =RNR5 -----END PGP SIGNATURE----- """ my_gpg = gpg.GPGStrategy(FakeConfig()) self.assertEqual((gpg.SIGNATURE_KEY_MISSING, u'5D51E56F', None), my_gpg.verify(content))
def test_verify_expired_but_valid(self): self.requireFeature(features.gpg) self.import_keys() content = b"""-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 bazaar-ng testament short form 1 revision-id: [email protected] sha1: 59ab434be4c2d5d646dee84f514aa09e1b72feeb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iJwEAQECAAYFAk42esUACgkQHOJve0+NFRPc5wP7BoZkzBU8JaHMLv/LmqLr0sUz zuE51ofZZ19L7KVtQWsOi4jFy0fi4A5TFwO8u9SOfoREGvkw292Uty9subSouK5/ mFmDOYPQ+O83zWgYZsBmMJWYDZ+X9I6XXZSbPtV/7XyTjaxtl5uRnDVJjg+AzKvD dTp8VatVVrwuvzOPDVc= =uHen -----END PGP SIGNATURE----- """ my_gpg = gpg.GPGStrategy(FakeConfig()) self.assertEqual((gpg.SIGNATURE_EXPIRED, u'4F8D1513', None), my_gpg.verify(content))
def test_verify_revoked_signature(self): self.requireFeature(features.gpg) self.import_keys() content = b"""-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 asdf -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iJwEAQECAAYFAk45V18ACgkQjs6dvEpb0cSIZQP/eOGTXGPlrNwvDkcX2d8O///I ecB4sUIUEpv1XAk1MkNu58lsjjK72lRaLusEGqd7HwrFmpxVeVs0oWLg23PNPCFs yJBID9ma+VxFVPtkEFnrc1R72sBJLfBcTxMkwVTC8eeznjdtn+cg+aLkxbPdrGnr JFA6kUIJU2w9LU/b88Y= =UuRX -----END PGP SIGNATURE----- """ plain = b"""asdf\n""" my_gpg = gpg.GPGStrategy(FakeConfig()) my_gpg.set_acceptable_keys("*****@*****.**") self.assertEqual((gpg.SIGNATURE_NOT_VALID, None, None), my_gpg.verify(content))
def test_verify_invalid(self): self.requireFeature(features.gpg) self.import_keys() content = b"""-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 bazaar-ng testament short form 1 revision-id: [email protected] sha1: 6411f9bdf6571200357140c9ce7c0f50106ac9a4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAk33gYsACgkQpQbm1N1NUIhiDACglOuQDlnSF4NxfHSkN/zrmFy8 nswAoNGXAVuR9ONasAKIGBNUE0b+lols =SOuC -----END PGP SIGNATURE----- """ plain = b"""bazaar-ng testament short form 1 revision-id: [email protected] sha1: 6411f9bdf6571200357140c9ce7c0f50106ac9a4 """ my_gpg = gpg.GPGStrategy(FakeConfig()) self.assertEqual((gpg.SIGNATURE_NOT_VALID, None, plain), my_gpg.verify(content))