Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions hs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,6 @@ Files:
* pub.rsa/priv.rsa: RSA keypair used here
* pub.ed/priv.ed: ED25519 keypair used here
* signed1.eml: First simple signed email, according to my best
understanding of draft-clayton-dkim2-spec-08

Note: The JSON in Message-Instance may not yet be in a final shape

Note: My interpretation of algorithm agility representation in
DKIM2-Signature's "s" tag is crude, just using multiples of 3
array elements (selector, algorithm, signature) instead of something
more structured.

Note: I think the algorithm specifiers would need to be changed to
include the hash name!
understanding of draft-ietf-dkim-dkim2-spec-02
* dkim2-keys.txt: Simple text based entries for verification
* signed1-debug-info/...: Debug information
3 changes: 3 additions & 0 deletions hs/dkim2-keys.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
selector1._domainkey.signer.example p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvDckC9n3Ds9uFZ7Kd7CwT7qV69CCq4L9pWha1O1W38yGQ1wHiWFwTXG4Kc5Dr8COLnLOZDPTERKbfGC3/nr9yWVoL4c7Rkwfvzk9YmQl89znjMyXuB7R3KAKbU6uZKSuOX/HONL2LQWv4oB+ab2TE0WnZj41LYboOS+mkemSuDMVsyTGJZJvGQT8im1dnGiqPCYexVkVwCw4z8+iFo82fBkO/m5vNqfSKWHerbuQBkG1Ubm2cshXCf6JWnnbOHLqMkLNz0z9B9/P1OE6pyP1AsjJi7YwyEnICbQ6LQ7/I54IcLHDtSoTZtSX+Zn1M7ihCj7GVbPpQriatROdP1kmRwIDAQAB;
selector._domainkey.bar.example p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvDckC9n3Ds9uFZ7Kd7CwT7qV69CCq4L9pWha1O1W38yGQ1wHiWFwTXG4Kc5Dr8COLnLOZDPTERKbfGC3/nr9yWVoL4c7Rkwfvzk9YmQl89znjMyXuB7R3KAKbU6uZKSuOX/HONL2LQWv4oB+ab2TE0WnZj41LYboOS+mkemSuDMVsyTGJZJvGQT8im1dnGiqPCYexVkVwCw4z8+iFo82fBkO/m5vNqfSKWHerbuQBkG1Ubm2cshXCf6JWnnbOHLqMkLNz0z9B9/P1OE6pyP1AsjJi7YwyEnICbQ6LQ7/I54IcLHDtSoTZtSX+Zn1M7ihCj7GVbPpQriatROdP1kmRwIDAQAB;
selector2._domainkey.bar.example k=ed25519; p=J3pRkHKe/Bz/V/hx4xPZMhYa7dnxgtgJlrSKIGP4G/Y=
1 change: 1 addition & 0 deletions hs/signed1-debug-info/dkim2-spike-02-body-in.hash
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=
1 change: 1 addition & 0 deletions hs/signed1-debug-info/dkim2-spike-02-body-in.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Test
1 change: 1 addition & 0 deletions hs/signed1-debug-info/dkim2-spike-02-header-in.hash
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8QVWwKrbt6EVO5mfBAXV2W2qrUakghw9z9Sbc8wy0xk=
4 changes: 4 additions & 0 deletions hs/signed1-debug-info/dkim2-spike-02-header-in.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from:Foo <foo@bar.example>
subject:Test2
subject:Test
to:Bar1 <bar1@bar.example>, Bar2 <bar2@bar.example>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ubYbNnDAnWDufOsBQdEsW4SJg17WIXegy44fh4tIPVc=
3 changes: 3 additions & 0 deletions hs/signed1-debug-info/dkim2-spike-02-toplevel-hash-signing.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
message-instance:m=1;h=sha256:+uEFbziRNvhgZC2f9b4yEV5D/7Ee0CSmZEnmKyheXPw=:fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=;
message-instance:m=2;h=sha256:8QVWwKrbt6EVO5mfBAXV2W2qrUakghw9z9Sbc8wy0xk=:fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=;r=eyJoIjpudWxsfQ==;
dkim2-signature:i=1;m=2;t=2;mf=PGZvb0BiYXIuZXhhbXBsZT4=;rt=PGJhcjFAYmFyLmV4YW1wbGU+,PGJhcjJAYmFyLmV4YW1wbGU+;d=bar.example;s=selector:rsa-sha256:,selector2:ed25519-sha256:;
24 changes: 24 additions & 0 deletions hs/signed1-debug-info/dkim2-spike.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
New Message-Instance: m=2; h=sha256:8QVWwKrbt6EVO5mfBAXV2W2qrUakghw9z9Sbc8wy0xk=:fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=; r=eyJoIjpudWxsfQ==;
New template: i=1; m=2; t=2;
mf=PGZvb0BiYXIuZXhhbXBsZT4=;
rt=PGJhcjFAYmFyLmV4YW1wbGU+,
PGJhcjJAYmFyLmV4YW1wbGU+;
d=bar.example;
s=selector:rsa-sha256:,
selector2:ed25519-sha256:;
RSA key bits: 2048
RSA signature: eOPHetWUHtGaBgkKHW8gGpjIGTagpcDe99VJQQ73x1uvkxIDrtLZUvmDlbSbfFt7t0Xx8sjbpYZFeOFf1Z94bt394qwzt8D8oqWxAcq56g5MA2P7B7lm+m4CmuspVDVHtRTTnqX9BTuj1G8oA8oCXRviO92ljTKBZV6NaIc/DSNdA/mYSw8UgctIIvdMzMhEStE8yq88psZJsZbT9Ao8ITonvNuWABVZ/lBvvbmJ/0ZAS4ktjAtFTQsEc8WGQjFaqDAqLJ6a/CP1Xggt4nmr5N0NGd1rvjHpYfp5LYfXMu+NtsKF/in7MuGzYV5IXooduD+sn6poG5X7alwFr91l0g==
ED25519 signature: E6aN9nPEjKzzIbA7QC6tiI/v4MP7mltTubA5N17UcrO0ECrLQOKV3Y0eeY3lby/Dup1yF9Hi8EH46ieFNhwtCQ==
newDkim2SignatureValue: i=1; m=2; t=2;
mf=PGZvb0BiYXIuZXhhbXBsZT4=;
rt=PGJhcjFAYmFyLmV4YW1wbGU+,
PGJhcjJAYmFyLmV4YW1wbGU+;
d=bar.example;
s=selector:rsa-sha256:eOPHetWUHtGaBgkKHW8gGpjIGTag
pcDe99VJQQ73x1uvkxIDrtLZUvmDlbSbfFt7t0Xx8sjbpYZFeOFf1Z94bt394qwzt8D8oqWxAcq
56g5MA2P7B7lm+m4CmuspVDVHtRTTnqX9BTuj1G8oA8oCXRviO92ljTKBZV6NaIc/DSNdA/mYSw
8UgctIIvdMzMhEStE8yq88psZJsZbT9Ao8ITonvNuWABVZ/lBvvbmJ/0ZAS4ktjAtFTQsEc8WGQ
jFaqDAqLJ6a/CP1Xggt4nmr5N0NGd1rvjHpYfp5LYfXMu+NtsKF/in7MuGzYV5IXooduD+sn6po
G5X7alwFr91l0g==,
selector2:ed25519-sha256:E6aN9nPEjKzzIbA7QC6tiI/v4MP7
mltTubA5N17UcrO0ECrLQOKV3Y0eeY3lby/Dup1yF9Hi8EH46ieFNhwtCQ==;
40 changes: 21 additions & 19 deletions hs/signed1.eml
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
DKIM2-Signature: i=1; v=1; t=2;
DKIM2-Signature: i=1; m=2; t=2;
mf=PGZvb0BiYXIuZXhhbXBsZT4=;
rt=PGJhcjFAYmFyLmV4YW1wbGU+,
PGJhcjJAYmFyLmV4YW1wbGU+;
d=bar.example;
m=eyJtZiI6Ijxmb29AYmFyLmV4YW1wbGU+IiwicnQiOlsiPGJhcjFAYmFyLmV4
YW1wbGU+IiwiPGJhcjJAYmFyLmV4YW1wbGU+Il19;
s=WyJzZWxlY3RvciIsInJzYSIsInNoeEVZOFI3WjVsN2pxTjRIRE1CaFJQMzdz
NUxHT2dRam05MXRNZzQ0N09MSEJHcXoxeW15SWJMU2pidDc5SDQvZXVLWERq
V2FhampmZnk0dGVVM2Y0TUd2U0JxZllRbStjYXVYdjlFYUJyZWJJM1lGR1lS
MmpsZndaWmdLcjJ6S0pXYnNDTGpqeHRjWFlHVUIzMVcwaTFJK2lYSEphU1d6
REExZFZVNzVEUXAyTmpQS2tGN0ZJNkwvK2pZOEdaT2VyZ1hGYUdOSDZ1Z0V5
dEhlRm41bG5rMEFDakswUmZIL3h3cTJsWE84SmRnSk1FTzRDc005UEZ5V1lq
VlNhbkdTYm15eW1kbmN2TWJxdVhocW55Y0NqNldvNWFYeXozWVRTRjhob09I
Z2JPc29uck9DSlRXckxONXhiOXZjcGN2OWxzN2V3OUFEaFhObGU3dTg3UTh2
dz09Iiwic2VsZWN0b3IyIiwiZWQyNTUxOSIsIlR2aHVBdC9tQkRNby9LTytP
N3Nhc1YxbEZGSHRTaTB4UHdDSk9iS2RoVnIrbUlrQ3YyODRYcjMyd2o4eWlN
NjNXWHNuVXhXamU4Tkl4R0ZNMkxGQkRnPT0iXQ==
Message-Instance: v=1;
h=eyJiIjpbInNoYTI1NiIsImZka2VCL0EwRmtiVlAyazRKNHBOUG9lV0g2dnFC
bTkrYjBDM09ZODdDdzg9Il0sImgiOlsic2hhMjU2IiwiK3VFRmJ6aVJOdmhn
WkMyZjliNHlFVjVELzdFZTBDU21aRW5tS3loZVhQdz0iXX0=
s=selector:rsa-sha256:eOPHetWUHtGaBgkKHW8gGpjIGTag
pcDe99VJQQ73x1uvkxIDrtLZUvmDlbSbfFt7t0Xx8sjbpYZFeOFf1Z94bt394qwzt8D8oqWxAcq
56g5MA2P7B7lm+m4CmuspVDVHtRTTnqX9BTuj1G8oA8oCXRviO92ljTKBZV6NaIc/DSNdA/mYSw
8UgctIIvdMzMhEStE8yq88psZJsZbT9Ao8ITonvNuWABVZ/lBvvbmJ/0ZAS4ktjAtFTQsEc8WGQ
jFaqDAqLJ6a/CP1Xggt4nmr5N0NGd1rvjHpYfp5LYfXMu+NtsKF/in7MuGzYV5IXooduD+sn6po
G5X7alwFr91l0g==,
selector2:ed25519-sha256:E6aN9nPEjKzzIbA7QC6tiI/v4MP7
mltTubA5N17UcrO0ECrLQOKV3Y0eeY3lby/Dup1yF9Hi8EH46ieFNhwtCQ==;
Message-Instance: m=2; h=sha256:8QVWwKrbt6EVO5mfBAXV2W2qrUakghw9z9Sbc8wy0xk=:fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=; r=eyJoIjpudWxsfQ==;
Message-Instance: m=1; h=sha256:+uEFbziRNvhgZC2f9b4yEV5D/7Ee0CSmZEnmKyheXPw=:fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=;
From: Foo <foo@bar.example>
To: Bar1 <bar1@bar.example>, Bar2 <bar2@bar.example>
To : Bar1 <bar1@bar.example>,
Bar2 <bar2@bar.example>
Subject: Test
Subject: Test2

Test