Add another RFC data based test

This commit is contained in:
Scott Kitterman
2018-02-12 13:45:26 -05:00
parent 43e56378c1
commit 9f9fe2625b
2 changed files with 33 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple;
d=football.example.com; i=@football.example.com;
q=dns/txt; s=brisbane; t=1518460054; h=from : to :
subject : date : message-id : from : subject : date;
bh=4bLNXImK9drULnmePzZNEBleUanJCX5PIsDIFoH4KTQ=;
b=9/dsDChY0YMTtD5Eyw3wx7x22BlSJP7M5ECbJ7GWrR45nXlTCGb8l0YB
o0wBLR++X5LqmsxXaOYLLJe46l10AQ==
From: Joe SixPack <joe@football.example.com>
To: Suzie Q <suzie@shopping.example.net>
Subject: Is dinner ready?
Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)
Message-ID: <20030712040037.46341.5F8J@football.example.com>
Hi.
We lost the game. Are you hungry yet?
Joe.
+14
View File
@@ -55,6 +55,7 @@ class TestSignAndVerify(unittest.TestCase):
self.message = read_test_data("ed25519test.msg") self.message = read_test_data("ed25519test.msg")
self.message2 = read_test_data("ed25519test2.msg") self.message2 = read_test_data("ed25519test2.msg")
self.message3 = read_test_data("rfc6376.msg") self.message3 = read_test_data("rfc6376.msg")
self.message4 = read_test_data("rfc6376.signed.msg")
self.key = read_test_data("ed25519test.key") self.key = read_test_data("ed25519test.key")
self.rfckey = read_test_data("rfc8032_7_1.key") self.rfckey = read_test_data("rfc8032_7_1.key")
@@ -98,6 +99,19 @@ p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="""
res = dkim.verify(sig + self.message3, dnsfunc=self.dnsfunc) res = dkim.verify(sig + self.message3, dnsfunc=self.dnsfunc)
self.assertTrue(res) self.assertTrue(res)
def test_rfc8032_previous_verifies(self):
# A message previously signed using RFC 8032 sample keys verifies after being signed.
for header_algo in (b"simple", b"relaxed"):
for body_algo in (b"simple", b"relaxed"):
sig = dkim.sign(
self.message3, b"brisbane", b"football.example.com", self.rfckey,
canonicalize=(header_algo, body_algo), signature_algorithm=b'ed25519-sha256')
print(header_algo, body_algo)
print(sig)
d = dkim.DKIM(self.message4)
res = d.verify(dnsfunc=self.dnsfunc)
self.assertTrue(res)
def test_simple_signature(self): def test_simple_signature(self):
# A message verifies after being signed with SHOULD headers # A message verifies after being signed with SHOULD headers
for header_algo in (b"simple", b"relaxed"): for header_algo in (b"simple", b"relaxed"):