summaryrefslogtreecommitdiff
path: root/src/leap/soledad/util.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2013-03-12 16:31:33 -0300
committerdrebs <drebs@leap.se>2013-03-12 16:31:33 -0300
commit163c0500a4a6fb9b11fe667fb7ee6d2822916cdb (patch)
treee9a85ddec162c8aba2b00638358c0ee490e17f12 /src/leap/soledad/util.py
parentab1e1c8862b70d47c7e5f10267639ef71b3bc536 (diff)
parent0b0384c4985210ba2763dc31de98afa59e3936e4 (diff)
Merge branch 'feature/bootstrap' into develop
Diffstat (limited to 'src/leap/soledad/util.py')
-rw-r--r--src/leap/soledad/util.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/leap/soledad/util.py b/src/leap/soledad/util.py
index c64d4c5f..b8ee4cf3 100644
--- a/src/leap/soledad/util.py
+++ b/src/leap/soledad/util.py
@@ -70,20 +70,27 @@ class GPGWrapper(gnupg.GPG):
return key
raise LookupError("GnuPG public key for email %s not found!" % email)
- def find_key_by_subkey(self, subkey):
- for key in self.list_keys():
+ def find_key_by_subkey(self, subkey, secret=False):
+ for key in self.list_keys(secret=secret):
for sub in key['subkeys']:
if sub[0] == subkey:
return key
raise LookupError(
"GnuPG public key for subkey %s not found!" % subkey)
- def find_key_by_keyid(self, keyid):
- for key in self.list_keys():
+ def find_key_by_keyid(self, keyid, secret=False):
+ for key in self.list_keys(secret=secret):
if keyid == key['keyid']:
return key
raise LookupError(
- "GnuPG public key for subkey %s not found!" % subkey)
+ "GnuPG public key for keyid %s not found!" % keyid)
+
+ def find_key_by_fingerprint(self, fingerprint, secret=False):
+ for key in self.list_keys(secret=secret):
+ if fingerprint == key['fingerprint']:
+ return key
+ raise LookupError(
+ "GnuPG public key for fingerprint %s not found!" % fingerprint)
def encrypt(self, data, recipient, sign=None, always_trust=True,
passphrase=None, symmetric=False):