summaryrefslogtreecommitdiff
path: root/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
commitff75ceecbff76bc9142516c198d726422c050797 (patch)
tree929b1145b9fd4346548f12de73ea714d563418e3 /src/leap/mail/incoming/service.py
parent64f1342d0f8ab27a95624b561b52eb8c2003e771 (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 'src/leap/mail/incoming/service.py')
-rw-r--r--src/leap/mail/incoming/service.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/leap/mail/incoming/service.py b/src/leap/mail/incoming/service.py
index f60921a..bf850b5 100644
--- a/src/leap/mail/incoming/service.py
+++ b/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)