def command(self): keyid = self.data.get("keyid", self.args) g = GnuPG() res = [] for key in keyid: res.append(g.recv_key(key)) return res
def _getkey(self, key): if key["fingerprint"] and not key["url"]: g = GnuPG() res = g.recv_key(key["fingerprint"]) elif key["url"]: r = urllib2.urlopen(key["url"]) result = r.readlines() start = 0 end = len(result) # Hack to deal with possible HTML results from keyservers: for i in range(len(result)): if result[i].startswith("-----BEGIN PGP"): start = i elif result[i].startswith("-----END PGP"): end = i result = "".join(result[start:end]) g = GnuPG() res = g.import_keys(result) return res else: raise ValueError("Need a fingerprint or a URL")
def _getkey(self, entry): pkaver = None fingerprint = None url = None for stmt in entry.split(";"): key, value = stmt.split("=", 1) if key == "v": pkaver = value elif key == "fpr": fingerprint = value elif key == "uri": url = value if pkaver != "pka1": raise ValueError("We only know how to deal with pka version 1") if fingerprint and not url: g = GnuPG() res = g.recv_key(fingerprint) elif url: r = urllib2.urlopen(url) result = r.readlines() start = 0 end = len(result) # Hack to deal with possible HTML results from keyservers: for i in range(len(result)): if result[i].startswith("-----BEGIN PGP"): start = i elif result[i].startswith("-----END PGP"): end = i result = "".join(result[start:end]) g = GnuPG() res = g.import_keys(result) return res else: raise ValueError("Need a fingerprint or a URL")
def command(self): keyid = self.data.get("keyid", self.args[0]) g = GnuPG() return g.recv_key(keyid)