aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/inline.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/pgp/inline.py')
-rw-r--r--src/mailman_pgp/pgp/inline.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mailman_pgp/pgp/inline.py b/src/mailman_pgp/pgp/inline.py
index a327ef4..06ecee5 100644
--- a/src/mailman_pgp/pgp/inline.py
+++ b/src/mailman_pgp/pgp/inline.py
@@ -159,25 +159,27 @@ class InlineWrapper:
if not part.is_multipart() and self._is_signed(part):
yield self._verify(part, key)
- def _sign(self, part, key):
+ def _sign(self, part, key, hash):
payload = str(part.get_payload())
pmsg = PGPMessage.new(payload, cleartext=True)
- pmsg |= key.sign(pmsg)
+ pmsg |= key.sign(pmsg, hash=hash)
part.set_payload(str(pmsg))
- def sign(self, key):
+ def sign(self, key, hash=None):
"""
Sign a message with key.
:param key: The key to sign with.
:type key: pgpy.PGPKey
+ :param hash: The hash algorithm to use.
+ :type hash: pgpy.constants.HashAlgorithm
:return: The signed message.
:rtype: mailman.email.message.Message
"""
out = copy.deepcopy(self.msg)
for part in walk(out):
if not part.is_multipart():
- self._sign(part, key)
+ self._sign(part, key, hash)
return out
def _decrypt(self, part, key):