equal
deleted
inserted
replaced
19 gpgcmd = "%s --sign --detach-sign%s" % (self.path, self.key) |
19 gpgcmd = "%s --sign --detach-sign%s" % (self.path, self.key) |
20 return util.filter(data, gpgcmd) |
20 return util.filter(data, gpgcmd) |
21 |
21 |
22 def verify(self, data, sig): |
22 def verify(self, data, sig): |
23 """ returns of the good and bad signatures""" |
23 """ returns of the good and bad signatures""" |
|
24 sigfile = datafile = None |
24 try: |
25 try: |
25 # create temporary files |
26 # create temporary files |
26 fd, sigfile = tempfile.mkstemp(prefix="hg-gpg-", suffix=".sig") |
27 fd, sigfile = tempfile.mkstemp(prefix="hg-gpg-", suffix=".sig") |
27 fp = os.fdopen(fd, 'wb') |
28 fp = os.fdopen(fd, 'wb') |
28 fp.write(sig) |
29 fp.write(sig) |
32 fp.write(data) |
33 fp.write(data) |
33 fp.close() |
34 fp.close() |
34 gpgcmd = ("%s --logger-fd 1 --status-fd 1 --verify " |
35 gpgcmd = ("%s --logger-fd 1 --status-fd 1 --verify " |
35 "\"%s\" \"%s\"" % (self.path, sigfile, datafile)) |
36 "\"%s\" \"%s\"" % (self.path, sigfile, datafile)) |
36 ret = util.filter("", gpgcmd) |
37 ret = util.filter("", gpgcmd) |
37 except: |
38 finally: |
38 for f in (sigfile, datafile): |
39 for f in (sigfile, datafile): |
39 try: |
40 try: |
40 if f: os.unlink(f) |
41 if f: os.unlink(f) |
41 except: pass |
42 except: pass |
42 raise |
|
43 keys = [] |
43 keys = [] |
44 key, fingerprint = None, None |
44 key, fingerprint = None, None |
45 err = "" |
45 err = "" |
46 for l in ret.splitlines(): |
46 for l in ret.splitlines(): |
47 # see DETAILS in the gnupg documentation |
47 # see DETAILS in the gnupg documentation |