diff options
| author | J08nY | 2017-06-22 19:12:04 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-22 19:12:04 +0200 |
| commit | 5014e7a75f02f8c707847122ff43b37064247a43 (patch) | |
| tree | 19bda52a1507fa7fe09e051ccee0129aace62d85 /src/mailman_pgp/pgp/inline.py | |
| parent | 429234b8db28ed6aadf21a3ccfce7eaf7065be71 (diff) | |
| download | mailman-pgp-5014e7a75f02f8c707847122ff43b37064247a43.tar.gz mailman-pgp-5014e7a75f02f8c707847122ff43b37064247a43.tar.zst mailman-pgp-5014e7a75f02f8c707847122ff43b37064247a43.zip | |
Diffstat (limited to 'src/mailman_pgp/pgp/inline.py')
| -rw-r--r-- | src/mailman_pgp/pgp/inline.py | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/src/mailman_pgp/pgp/inline.py b/src/mailman_pgp/pgp/inline.py index 646d13a..d87b3da 100644 --- a/src/mailman_pgp/pgp/inline.py +++ b/src/mailman_pgp/pgp/inline.py @@ -16,16 +16,23 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """Strict inline PGP message wrapper.""" -from email.message import Message -from pgpy import PGPKey, PGPMessage +from pgpy import PGPMessage from pgpy.types import Armorable from public import public @public class InlineWrapper: - def __init__(self, msg: Message): + """Inline PGP wrapper.""" + + def __init__(self, msg): + """ + Wrap the given message. + + :param msg: The message to wrap. + :type msg: mailman.email.message.Message + """ self.msg = msg def _is_inline(self): @@ -45,32 +52,50 @@ class InlineWrapper: def is_signed(self): """ + Whether the message is inline signed (cleartext). - :return: + :return: If the message is inline signed. + :rtype: bool """ + # XXX: This doesnt handle non-cleartext signatures (gpg -s -a) return self._is_inline() and self._has_armor('SIGNATURE') def is_encrypted(self): """ + Whether the message is inline encrypted. - :return: + :return: If the message is inline encrypted. + :rtype: bool """ + # XXX: This mistakes non-cleartext signature as encrypted. return self._is_inline() and self._has_armor('MESSAGE') - def verify(self, key: PGPKey): + def verify(self, key): """ + Verify the signature of this message with key. - :param key: - :return: + :param key: The key to verify with. + :type key: pgpy.PGPKey + :return: The verified signature. + :rtype: pgpy.types.SignatureVerification """ message = PGPMessage.from_blob(self._as_string()) return key.verify(message) - def decrypt(self, key: PGPKey): + def sign(self): + pass + + def decrypt(self, key): """ + Decrypt this message with key. - :param key: - :return: + :param key: The key to decrypt with. + :type key: pgpy.PGPKey + :return: The decrypted message. + :rtype: PGPMessage """ message = PGPMessage.from_blob(self._as_string()) return key.decrypt(message) + + def encrypt(self): + pass |
