def testC06PrimaryRevocation(self):
     "crypto.signature: verify_DSA() primary key revocation by hand"
     d = read_test_file(['pgpfiles','key','DSAELG1.pub.revoked.gpg'])
     keypkt, revocpkt = list_pkts(d)[:2]
     context = sha.new(keypkt.rawstr()+revocpkt.body.hashed_data).digest()
     sigtup = (revocpkt.body.DSA_r.value, revocpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value, keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC06PrimaryRevocation(self):
     "crypto.signature: verify_DSA() primary key revocation by hand"
     d = read_test_file(['pgpfiles', 'key', 'DSAELG1.pub.revoked.gpg'])
     keypkt, revocpkt = list_pkts(d)[:2]
     context = sha.new(keypkt.rawstr() + revocpkt.body.hashed_data).digest()
     sigtup = (revocpkt.body.DSA_r.value, revocpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value,
               keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC01DSAPGPSignature(self):
     "crypto.signature: verify_DSA() One-Pass v3 by hand"
     dsakey = list_pkts(dsapubkey_d)[0].body
     onepass, lit, sig = [x.body for x in list_pkts(dsasig_d)]
     # we know that this was signed using SHA1, ignoring onepass packet
     msg = sha.new(lit.data + sig.hashed_data).digest()
     sigtup = (sig.DSA_r.value, sig.DSA_s.value)
     keytup = (dsakey.DSA_y.value, dsakey.DSA_g.value, dsakey.DSA_p.value, dsakey.DSA_q.value)
     self.assertEqual(1, verify_DSA(msg, sigtup, keytup))
 def testC01DSAPGPSignature(self):
     "crypto.signature: verify_DSA() One-Pass v3 by hand"
     dsakey = list_pkts(dsapubkey_d)[0].body
     onepass, lit, sig = [x.body for x in list_pkts(dsasig_d)]
     # we know that this was signed using SHA1, ignoring onepass packet
     msg = sha.new(lit.data + sig.hashed_data).digest()
     sigtup = (sig.DSA_r.value, sig.DSA_s.value)
     keytup = (dsakey.DSA_y.value, dsakey.DSA_g.value, dsakey.DSA_p.value,
               dsakey.DSA_q.value)
     self.assertEqual(1, verify_DSA(msg, sigtup, keytup))
 def testC04DSAv4UID(self):
     "crypto.signature: verify_DSA() v4 user ID by hand"
     keypkt, uidpkt, sigpkt = list_pkts(dsapubkey_d)[:3]
     # two octet primary key length (packet body)
     keylen = int2quadoct(keypkt.length.size)[-2:]
     # four octet user ID length (packet body)
     uidlen = int2quadoct(uidpkt.length.size)
     context = sha.new('\x99'+keylen+keypkt.body._d+'\xb4'+uidlen+uidpkt.body._d+sigpkt.body.hashed_data).digest()
     sigtup = (sigpkt.body.DSA_r.value, sigpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value, keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC05DSAv4Subkey(self):
     "crypto.signature: verify_DSA() v4 subkey by hand"
     pkts = list_pkts(dsapubkey_d)
     keypkt, subkeypkt, sigpkt = pkts[0], pkts[3], pkts[4]
     # two octet primary key length (packet body)
     keylen = int2quadoct(keypkt.length.size)[-2:]
     # two octet subkey length (packet body)
     subkeylen = int2quadoct(subkeypkt.length.size)[-2:]
     context = sha.new('\x99'+keylen+keypkt.body._d+'\x99'+subkeylen+subkeypkt.body._d+sigpkt.body.hashed_data).digest()
     sigtup = (sigpkt.body.DSA_r.value, sigpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value, keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC04DSAv4UID(self):
     "crypto.signature: verify_DSA() v4 user ID by hand"
     keypkt, uidpkt, sigpkt = list_pkts(dsapubkey_d)[:3]
     # two octet primary key length (packet body)
     keylen = int2quadoct(keypkt.length.size)[-2:]
     # four octet user ID length (packet body)
     uidlen = int2quadoct(uidpkt.length.size)
     context = sha.new('\x99' + keylen + keypkt.body._d + '\xb4' + uidlen +
                       uidpkt.body._d + sigpkt.body.hashed_data).digest()
     sigtup = (sigpkt.body.DSA_r.value, sigpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value,
               keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC07SubkeyRevocation(self):
     "crypto.signature: verify_DSA() subkey revocation by hand"
     d = read_test_file(['pgpfiles','key','DSAELG2.subkeyrevoc.gpg'])
     keymsg = list_msgs(list_pkts(d))[0]
     revblock = keymsg._b_subkeys['90AFB828686B6E9A'] # known revoked block
     key = keymsg._b_primary.leader
     sig = revblock.local_bindings[0]
     subkey = revblock.leader
     l1 = int2quadoct(len(key.body._d))[-2:]
     l2 = int2quadoct(len(subkey.body._d))[-2:]
     context = sha.new('\x99'+l1+key.body._d+'\x99'+l2+subkey.body._d+sig.body.hashed_data).digest()
     sigtup = (sig.body.DSA_r.value, sig.body.DSA_s.value)
     keytup = (key.body.DSA_y.value, key.body.DSA_g.value, key.body.DSA_p.value, key.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC05DSAv4Subkey(self):
     "crypto.signature: verify_DSA() v4 subkey by hand"
     pkts = list_pkts(dsapubkey_d)
     keypkt, subkeypkt, sigpkt = pkts[0], pkts[3], pkts[4]
     # two octet primary key length (packet body)
     keylen = int2quadoct(keypkt.length.size)[-2:]
     # two octet subkey length (packet body)
     subkeylen = int2quadoct(subkeypkt.length.size)[-2:]
     context = sha.new('\x99' + keylen + keypkt.body._d + '\x99' +
                       subkeylen + subkeypkt.body._d +
                       sigpkt.body.hashed_data).digest()
     sigtup = (sigpkt.body.DSA_r.value, sigpkt.body.DSA_s.value)
     keytup = (keypkt.body.DSA_y.value, keypkt.body.DSA_g.value,
               keypkt.body.DSA_p.value, keypkt.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testC07SubkeyRevocation(self):
     "crypto.signature: verify_DSA() subkey revocation by hand"
     d = read_test_file(['pgpfiles', 'key', 'DSAELG2.subkeyrevoc.gpg'])
     keymsg = list_msgs(list_pkts(d))[0]
     revblock = keymsg._b_subkeys['90AFB828686B6E9A']  # known revoked block
     key = keymsg._b_primary.leader
     sig = revblock.local_bindings[0]
     subkey = revblock.leader
     l1 = int2quadoct(len(key.body._d))[-2:]
     l2 = int2quadoct(len(subkey.body._d))[-2:]
     context = sha.new('\x99' + l1 + key.body._d + '\x99' + l2 +
                       subkey.body._d + sig.body.hashed_data).digest()
     sigtup = (sig.body.DSA_r.value, sig.body.DSA_s.value)
     keytup = (key.body.DSA_y.value, key.body.DSA_g.value,
               key.body.DSA_p.value, key.body.DSA_q.value)
     self.assertEqual(1, verify_DSA(context, sigtup, keytup))
 def testB01DSASignature(self):
     "crypto.signature: sign_DSA()/verify_DSA() sanity"
     sig = sign_DSA(txt, (dsakey.y, dsakey.g, dsakey.p, dsakey.q, dsakey.x))
     ret = verify_DSA(txt, sig, (dsakey.y, dsakey.g, dsakey.p, dsakey.q))
     self.assertEqual(ret, 1)
 def testB01DSASignature(self):
     "crypto.signature: sign_DSA()/verify_DSA() sanity"
     sig = sign_DSA(txt, (dsakey.y, dsakey.g, dsakey.p, dsakey.q, dsakey.x))
     ret = verify_DSA(txt, sig, (dsakey.y, dsakey.g, dsakey.p, dsakey.q))
     self.assertEqual(ret, 1)