diff options
author | Ruben Pollan <meskio@sindominio.net> | 2016-07-06 15:59:10 +0200 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2016-07-06 15:59:10 +0200 |
commit | c0ae8b109a21fad1c2ff56db0768c16b78f6a5f7 (patch) | |
tree | f05e2e0951a5e8d8a904e3c4e6cd77229f6fd2f9 /memoryhole/gpg.py | |
parent | 2bf3ef57a1f2841116268010cd80984208725f45 (diff) |
[feat] discover encr and sign address
Diffstat (limited to 'memoryhole/gpg.py')
-rw-r--r-- | memoryhole/gpg.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/memoryhole/gpg.py b/memoryhole/gpg.py index fcead9e..533d12a 100644 --- a/memoryhole/gpg.py +++ b/memoryhole/gpg.py @@ -1,4 +1,3 @@ -from gnupg import GPG from zope.interface import implementer from memoryhole.openpgp import OpenPGP @@ -7,16 +6,21 @@ from memoryhole.openpgp import OpenPGP @implementer(OpenPGP) class Gnupg(object): def __init__(self): + from gnupg import GPG self.gpg = GPG() - def encrypt(self, data, encraddr, singaddr): - # TODO - encfp = 0 - signfp = 0 - return self.gpg.encrypt(data, encfp, default_key=signfp) + def encrypt(self, data, encraddr, signaddr): + result = self.gpg.encrypt(data, *encraddr, default_key=signaddr) + self._assert_gpg_result_ok(result) + return result.data def decrypt(self, data): pass def verify(self, data, signature): pass + + def _assert_gpg_result_ok(self, result): + stderr = getattr(result, 'stderr', '') + if getattr(result, 'ok', False) is not True: + raise RuntimeError('Failed to encrypt/decrypt: %s' % stderr) |