summaryrefslogtreecommitdiff
path: root/mail/src/leap/mail/incoming/service.py
diff options
context:
space:
mode:
authorCaio Carrara <ccarrara@thoughtworks.com>2016-05-24 15:56:00 -0300
committerCaio Carrara <ccarrara@thoughtworks.com>2016-05-24 15:56:00 -0300
commit4c8cc737d205231c475000f2f7399262829630a3 (patch)
tree684301cf49466eaae8ad7ecbdfdf44c14a7a301a /mail/src/leap/mail/incoming/service.py
parent9d44862908f521850eaf420cfcdac733d030113d (diff)
[tests] add test to validate signature from apple mail
This change adds test to validate signature of encrypted email created by apple mail. It's important to note that apple mail has a specific way to encrypt signed messages. First it sign the email and then encrypt the previous signed message. It was also added a message file with the expected data.
Diffstat (limited to 'mail/src/leap/mail/incoming/service.py')
-rw-r--r--mail/src/leap/mail/incoming/service.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/mail/src/leap/mail/incoming/service.py b/mail/src/leap/mail/incoming/service.py
index f60921aa..bf850b57 100644
--- a/mail/src/leap/mail/incoming/service.py
+++ b/mail/src/leap/mail/incoming/service.py
@@ -458,10 +458,8 @@ class IncomingMail(Service):
self.LEAP_SIGNATURE_HEADER,
self.LEAP_SIGNATURE_INVALID)
else:
- decrmsg.add_header(
- self.LEAP_SIGNATURE_HEADER,
- self.LEAP_SIGNATURE_VALID,
- pubkey=signkey.fingerprint)
+ self._add_verified_signature_header(decrmsg,
+ signkey.fingerprint)
return decrmsg.as_string()
if msg.get_content_type() == MULTIPART_ENCRYPTED:
@@ -475,6 +473,12 @@ class IncomingMail(Service):
d.addCallback(add_leap_header)
return d
+ def _add_verified_signature_header(self, decrmsg, fingerprint):
+ decrmsg.add_header(
+ self.LEAP_SIGNATURE_HEADER,
+ self.LEAP_SIGNATURE_VALID,
+ pubkey=fingerprint)
+
def _add_decrypted_header(self, msg):
msg.add_header(self.LEAP_ENCRYPTION_HEADER,
self.LEAP_ENCRYPTION_DECRYPTED)