From cdbb60841a96145d24f98fc280be64fa06be828b Mon Sep 17 00:00:00 2001 From: Scott Kitterman Date: Thu, 2 Mar 2017 19:08:27 -0500 Subject: [PATCH] =?UTF-8?q?Add=20test=20case=20for=20verification=20when?= =?UTF-8?q?=20should=20headers=20are=20signed=20(thanks=20to=20Geoffrey=20?= =?UTF-8?q?Leh=C3=A9e=20for=20the=20patch)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChangeLog | 1 + dkim/tests/test_dkim.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index b6014a2..145d070 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ UNRELEASED Version 0.6.2 - Fixed python3.4 string interpolation issue - Fix some byte casting issues & typos + - Add test case for verification when should headers are signed 2017-01-27 Version 0.6.1 - Fixed python3 dns lookup issue diff --git a/dkim/tests/test_dkim.py b/dkim/tests/test_dkim.py index d721d78..c9918f9 100644 --- a/dkim/tests/test_dkim.py +++ b/dkim/tests/test_dkim.py @@ -87,6 +87,17 @@ Y+vtSBczUiKERHv1yRbcaQtZFh5wtiRrN04BLUTD21MycBX5jYchHjPY/wIDAQAB""" res = dkim.verify(sig + self.message, dnsfunc=self.dnsfunc) self.assertTrue(res) + def test_simple_signature(self): + # A message verifies after being signed with SHOULD headers + for header_algo in (b"simple", b"relaxed"): + for body_algo in (b"simple", b"relaxed"): + sig = dkim.sign( + self.message, b"test", b"example.com", self.key, + canonicalize=(header_algo, body_algo), + include_headers=(b'from',) + dkim.DKIM.SHOULD) + res = dkim.verify(sig + self.message, dnsfunc=self.dnsfunc) + self.assertTrue(res) + def test_altered_body_fails(self): # An altered body fails verification. for header_algo in (b"simple", b"relaxed"):