diff options
| author | J08nY | 2017-07-27 19:23:14 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-27 19:23:14 +0200 |
| commit | 7f7fa136794732d3b50ee2d1d7df73e01c1ff823 (patch) | |
| tree | 11c0ae8af1cf0934eed6d9c68316e757eb3c53bf /src/mailman_pgp/pgp/inline.py | |
| parent | c401f2c6cc5f0aa4c6de245dcf252d3bbcc920fd (diff) | |
| download | mailman-pgp-7f7fa136794732d3b50ee2d1d7df73e01c1ff823.tar.gz mailman-pgp-7f7fa136794732d3b50ee2d1d7df73e01c1ff823.tar.zst mailman-pgp-7f7fa136794732d3b50ee2d1d7df73e01c1ff823.zip | |
Diffstat (limited to 'src/mailman_pgp/pgp/inline.py')
| -rw-r--r-- | src/mailman_pgp/pgp/inline.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mailman_pgp/pgp/inline.py b/src/mailman_pgp/pgp/inline.py index d2ea05e..81e0839 100644 --- a/src/mailman_pgp/pgp/inline.py +++ b/src/mailman_pgp/pgp/inline.py @@ -91,10 +91,15 @@ class InlineWrapper: """ :return: + :rtype: typing.Generator[pgpy.PGPMessage] """ for part in walk(self.msg): if not part.is_multipart() and self._is_signed(part): - yield part.get_payload() + try: + msg = PGPMessage.from_blob(part.get_payload()) + except: + continue + yield msg def _is_encrypted(self, part): try: @@ -126,10 +131,15 @@ class InlineWrapper: """ :return: + :rtype: typing.Generator[pgpy.PGPMessage] """ for part in walk(self.msg): if not part.is_multipart() and self._is_encrypted(part): - yield part.get_payload() + try: + msg = PGPMessage.from_blob(part.get_payload()) + except: + continue + yield msg def _has_keys(self, part): try: @@ -178,10 +188,6 @@ class InlineWrapper: continue yield key - def _verify(self, part, key): - message = PGPMessage.from_blob(part.get_payload()) - return key.verify(message) - def verify(self, key): """ Verify the signatures of this message with key. @@ -191,9 +197,7 @@ class InlineWrapper: :return: The verified signatures. :rtype: Generator[pgpy.types.SignatureVerification] """ - for part in walk(self.msg): - if not part.is_multipart() and self._is_signed(part): - yield self._verify(part, key) + yield from map(key.verify, self.get_signature()) def _sign(self, pmsg, key, hash): smsg = copy.copy(pmsg) |
