diff options
| author | J08nY | 2017-06-26 23:36:29 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-26 23:36:29 +0200 |
| commit | 1e7fcefa467e32ab54967e78ffc8485a46d3eaeb (patch) | |
| tree | 24d9d5e58823f25120b2f7daaf5d5bb4ea5a8349 /src | |
| parent | e071f25345dbb8e52c4f22c93da7b1eb7d330793 (diff) | |
| download | mailman-pgp-1e7fcefa467e32ab54967e78ffc8485a46d3eaeb.tar.gz mailman-pgp-1e7fcefa467e32ab54967e78ffc8485a46d3eaeb.tar.zst mailman-pgp-1e7fcefa467e32ab54967e78ffc8485a46d3eaeb.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman_pgp/pgp/mime.py | 5 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/wrapper.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/mailman_pgp/pgp/mime.py b/src/mailman_pgp/pgp/mime.py index 92ee72b..c36cc37 100644 --- a/src/mailman_pgp/pgp/mime.py +++ b/src/mailman_pgp/pgp/mime.py @@ -171,6 +171,8 @@ class MIMEWrapper: :rtype: mailman.email.message.Message """ payload = self.msg.as_string() + # Wrap payload in PGPMessage with cleartext=True to get a signature + # of a canonical document. pmsg = PGPMessage.new(payload, cleartext=True) signature = key.sign(pmsg, hash=hash) @@ -203,7 +205,8 @@ class MIMEWrapper: :rtype: mailman.email.message.Message """ msg_text = self.msg.get_payload(1).get_payload() - pmsg = PGPMessage.from_blob(msg_text) + pmsg = PGPMessage() + pmsg.parse(msg_text) decrypted = key.decrypt(pmsg) out = message_from_string(decrypted.message, _class=Message) copy_headers(self.msg, out) diff --git a/src/mailman_pgp/pgp/wrapper.py b/src/mailman_pgp/pgp/wrapper.py index 2b18134..bc0a3c6 100644 --- a/src/mailman_pgp/pgp/wrapper.py +++ b/src/mailman_pgp/pgp/wrapper.py @@ -79,6 +79,9 @@ class PGPWrapper(): elif self.is_inline_signed(): yield from self.inline.verify(key) + def verifies(self, key): + return all(bool(verification) for verification in self.verify(key)) + def is_mime_encrypted(self): return self.mime.is_encrypted() |
