aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/mime.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/pgp/mime.py')
-rw-r--r--src/mailman_pgp/pgp/mime.py22
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)