From fa9e8f7fa8c5693ac28a384a742d7f9afc4db7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Fri, 31 Aug 2018 15:14:08 +0200 Subject: [PATCH] [openpgp] Fix some bugs - Dont use armor when encrypting - Convert timestamp to int - Fix getting the default trust --- openpgp/backend/pygpg.py | 3 ++- openpgp/modules/openpgp.py | 2 +- openpgp/modules/pgp_keylist.py | 2 +- openpgp/modules/util.py | 3 +-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openpgp/backend/pygpg.py b/openpgp/backend/pygpg.py index 5b94e0e..e7bc9a7 100644 --- a/openpgp/backend/pygpg.py +++ b/openpgp/backend/pygpg.py @@ -70,6 +70,7 @@ class PGPContext(gnupg.GPG): result = super().encrypt(str(payload).encode('utf8'), recipients, + armor=False, sign=self._own_fingerprint, always_trust=True, passphrase=self._passphrase) @@ -79,7 +80,7 @@ class PGPContext(gnupg.GPG): else: error = result.status - return str(result), error + return result.data, error def decrypt(self, payload): result = super().decrypt(payload, diff --git a/openpgp/modules/openpgp.py b/openpgp/modules/openpgp.py index 2101f64..38f258d 100644 --- a/openpgp/modules/openpgp.py +++ b/openpgp/modules/openpgp.py @@ -116,7 +116,7 @@ class ContactData: @property def default_trust(self): - for key in self._key_store: + for key in self._key_store.values(): if key.trust in (Trust.NOT_TRUSTED, Trust.BLIND): return Trust.UNKNOWN return Trust.BLIND diff --git a/openpgp/modules/pgp_keylist.py b/openpgp/modules/pgp_keylist.py index 97f0283..32bba9f 100644 --- a/openpgp/modules/pgp_keylist.py +++ b/openpgp/modules/pgp_keylist.py @@ -97,7 +97,7 @@ class PGPKeylist(AbstractPEPModule): if timestamp is None: raise StanzaMalformed('Invalid date timestamp: %s', date) - keylist.append(Key(attrs['v4-fingerprint'], timestamp)) + keylist.append(Key(attrs['v4-fingerprint'], int(timestamp))) return keylist def _notification_received(self, jid, keylist): diff --git a/openpgp/modules/util.py b/openpgp/modules/util.py index b835190..8351184 100644 --- a/openpgp/modules/util.py +++ b/openpgp/modules/util.py @@ -177,8 +177,7 @@ def get_rpad(): def create_openpgp_message(obj, encrypted_payload): - b64encoded_payload = b64encode( - encrypted_payload.encode('utf-8')).decode('utf8') + b64encoded_payload = b64encode(encrypted_payload).decode('utf8') openpgp_node = nbxmpp.Node('openpgp', attrs={'xmlns': NS_OPENPGP}) openpgp_node.addData(b64encoded_payload)