DKIM2 library and tools
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Steve Atkins f6b0751acc
All checks were successful
/ release (push) Successful in 11s
Pull CLI tools to their own repo.
2026-09-09 14:57:58 +01:00
.forgejo/workflows Add test to workflow. 2026-09-05 13:04:59 +01:00
.github/workflows Convert remaining non-test panic()s, to error return. 2026-05-10 13:36:24 +01:00
internal/generate Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
spec Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +01:00
testdata Update imported test data from interop/python. 2026-09-06 15:01:07 +01:00
tools/base64bytes Most everything works. 2026-05-05 12:21:11 +01:00
.gitattributes Most everything works. 2026-05-05 12:21:11 +01:00
.gitignore Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +01:00
.goreleaser.yaml Add ability to extract 2026-05-08 17:19:25 +01:00
base64.go Strip whitespace from base64 encoded values before decoding. Closes #5. 2026-09-08 12:56:32 +01:00
cf_python_test.go Enable some previously skipped tests as testdata has been updated to match -06. 2026-09-06 15:23:27 +01:00
chain_test.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
chaos_test.go Add nd= and chain of custody checks. 2026-09-07 09:42:02 +01:00
dkim2signature.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
dkim2signature_test.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
dns.go Replace KeyResolver interface with one that is implemented by [net.Resolver]. Removes non-stdlib DNS dependencies. Closes #3. 2026-09-05 16:03:45 +01:00
dns_test.go Really parallelize DNS live tests. 2026-09-08 12:55:26 +01:00
edit_message.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
error_names.txt Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
errors.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
go.mod Pull CLI tools to their own repo. 2026-09-09 14:57:58 +01:00
go.sum Pull CLI tools to their own repo. 2026-09-09 14:57:58 +01:00
hash.go Add support for different hashes, including sha512. 2026-09-08 12:35:25 +01:00
hash_test.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
headers.go Most everything works. 2026-05-05 12:21:11 +01:00
headers_test.go Most everything works. 2026-05-05 12:21:11 +01:00
history.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
LICENSE Initial commit 2025-11-03 09:58:44 +00:00
messageinstance.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
messageinstance_test.go Most everything works. 2026-05-05 12:21:11 +01:00
NOTES.md Most everything works. 2026-05-05 12:21:11 +01:00
README.md Pull CLI tools to their own repo. 2026-09-09 14:57:58 +01:00
recipe.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
recipe_body_test.go Added goreleaser and version flag. Updated some dependencies. Fixed some warnings. 2026-05-07 12:27:02 +01:00
recipe_diff.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
recipe_header_test.go Most everything works. 2026-05-05 12:21:11 +01:00
recipe_headerdiff_test.go Add generated chaos tests, remove old tests. 2026-06-23 09:06:38 +01:00
recipes.schema.json Most everything works. 2026-05-05 12:21:11 +01:00
roundtrip_test.go Correct handling of angle brackets in mf= and rt= fields. 2026-05-13 09:31:22 +01:00
sign.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
sign_test.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
signature_tags_test.go Add nd= and chain of custody checks. 2026-09-07 09:42:02 +01:00
tag.go Add missing doc comments. 2026-09-05 12:27:39 +01:00
testhelpers_test.go Add nd= and chain of custody checks. 2026-09-07 09:42:02 +01:00
time.go Most everything works. 2026-05-05 12:21:11 +01:00
verify.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
verify_errors.go Add remaining errors in draft-06. 2026-09-09 13:48:44 +01:00
verify_test.go If no k= is provided in a public key record, default to "rsa". Closes #2. 2026-09-05 17:32:43 +01:00
version.go Update to draft-06; update README. 2026-09-09 14:06:27 +01:00

dkim2

DKIM2 library and tools

Go Reference

This library implements signing and validation of DKIM2 signed email, as specified by draft-ietf-dkim-dkim2-spec-06.

CLI tools

CLI tools using this library can be found at https://forge.turscar.ie/turscar/dkim2utils

Status

The library generates and parse messages correctly, tests are passing, and sees

Missing

Message-instance recipes that return a "we can't reconstruct this" result aren't returned to the caller in any useful way. I'm waiting to see how the requirements change there before firming up the API.