diff options
Diffstat (limited to 'src/mailman_pgp/pgp/mime.py')
| -rw-r--r-- | src/mailman_pgp/pgp/mime.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mailman_pgp/pgp/mime.py b/src/mailman_pgp/pgp/mime.py index 27dafa6..3c28132 100644 --- a/src/mailman_pgp/pgp/mime.py +++ b/src/mailman_pgp/pgp/mime.py @@ -260,14 +260,15 @@ class MIMEWrapper: copy_headers(self.msg, out) return out - def _encrypt(self, pmsg, *keys, cipher): + def _encrypt(self, pmsg, *keys, cipher, **kwargs): if len(keys) == 1: - pmsg = keys[0].encrypt(pmsg, cipher=cipher) + pmsg = keys[0].encrypt(pmsg, cipher=cipher, **kwargs) else: session_key = cipher.gen_key() for key in keys: pmsg = key.encrypt(pmsg, cipher=cipher, - session_key=session_key) + session_key=session_key, + **kwargs) del session_key return pmsg @@ -294,7 +295,8 @@ class MIMEWrapper: out.attach(second_part) return out - def encrypt(self, *keys, cipher=SymmetricKeyAlgorithm.AES256): + def encrypt(self, *keys, cipher=SymmetricKeyAlgorithm.AES256, + **kwargs): """ Encrypt the message with key/s, using cipher. @@ -310,13 +312,14 @@ class MIMEWrapper: payload = self.msg.as_string() pmsg = PGPMessage.new(payload) - pmsg = self._encrypt(pmsg, *keys, cipher=cipher) + pmsg = self._encrypt(pmsg, *keys, cipher=cipher, **kwargs) out = self._wrap_encrypted(pmsg) copy_headers(self.msg, out) return out def sign_encrypt(self, key, *keys, hash=None, - cipher=SymmetricKeyAlgorithm.AES256): + cipher=SymmetricKeyAlgorithm.AES256, + **kwargs): """ Sign and encrypt the message, in one go. @@ -339,13 +342,14 @@ class MIMEWrapper: payload = self.msg.as_string() pmsg = PGPMessage.new(payload) pmsg |= key.sign(pmsg, hash=hash) - pmsg = self._encrypt(pmsg, *keys, cipher=cipher) + pmsg = self._encrypt(pmsg, *keys, cipher=cipher, **kwargs) out = self._wrap_encrypted(pmsg) copy_headers(self.msg, out) return out def sign_then_encrypt(self, key, *keys, hash=None, - cipher=SymmetricKeyAlgorithm.AES256): + cipher=SymmetricKeyAlgorithm.AES256, + **kwargs): """ Sign then encrypt the message. @@ -367,4 +371,4 @@ class MIMEWrapper: out = self.sign(key, hash) out_wrapped = MIMEWrapper(out) - return out_wrapped.encrypt(*keys, cipher=cipher) + return out_wrapped.encrypt(*keys, cipher=cipher, **kwargs) |
