DKIM2 library and tools
Find a file
Steve Atkins 84e6a0dfb0
All checks were successful
/ release (push) Successful in 7s
Add generated chaos tests, remove old tests.
2026-06-23 09:06:38 +01:00
.forgejo/workflows Actions testing. 2026-06-03 14:22:47 +01:00
.github/workflows Convert remaining non-test panic()s, to error return. 2026-05-10 13:36:24 +01:00
cmd Fix panic when providing recipients to dkim2sign. Add minimal "send via smtp" flag to dkim2sign. 2026-05-25 11:43:06 +01:00
internal/generate Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +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 Add generated chaos tests, remove old tests. 2026-06-23 09:06:38 +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
cf_python_test.go Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +01:00
chaos_test.go Add generated chaos tests, remove old tests. 2026-06-23 09:06:38 +01:00
dkim2signature.go Remove stray semicolon added when generating n= tag. 2026-06-05 21:59:23 +01:00
dns.go Added goreleaser and version flag. Updated some dependencies. Fixed some warnings. 2026-05-07 12:27:02 +01:00
edit_message.go Most everything works. 2026-05-05 12:21:11 +01:00
error_names.txt Most everything works. 2026-05-05 12:21:11 +01:00
errors.go Check for duplicate tags in headers. 2026-06-06 12:42:06 +01:00
go.mod Adding some tests 2026-06-05 18:15:34 +01:00
go.sum Adding some tests 2026-06-05 18:15:34 +01:00
hash.go Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +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 ability to extract 2026-05-08 17:19:25 +01:00
LICENSE Initial commit 2025-11-03 09:58:44 +00:00
messageinstance.go Fix panic in MessageInstance.ToString(). Fix incorrect verification of messages with multiple signatures. Wrap provided email addresses in angle brackets if needed. 2026-05-25 13:29:52 +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 Convert remaining non-test panic()s, to error return. 2026-05-10 13:36:24 +01:00
recipe.go Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +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 generated chaos tests, remove old tests. 2026-06-23 09:06:38 +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 Don't modify input slice of recipients. 2026-06-04 16:10:36 +01:00
tag.go Check for duplicate tags in headers. 2026-06-06 12:42:06 +01:00
testhelpers_test.go Most everything works. 2026-05-05 12:21:11 +01:00
time.go Most everything works. 2026-05-05 12:21:11 +01:00
verify.go Prevent assigment to null map while verifying message with flags. 2026-06-05 23:32:08 +01:00
verify_errors.go Most everything works. 2026-05-05 12:21:11 +01:00
verify_test.go Add generated chaos tests, remove old tests. 2026-06-23 09:06:38 +01:00
version.go Update to spec-02, removing z= recipe and not hashing Authentication-Results headers. 2026-05-19 10:47:16 +01:00

dkim2

DKIM2 library and tools

CLI tools

dkim2sign signs a message.

dkim2verify verifies all the Dkim2 signatures in a message.

dkim2explain unpacks all the Dkim2-Signature and Message-Instance headers, displaying their fields in a human readable format.

dkim2history generates previous versions of a message, from the history stored in Message-Instance headers.

Installation

Pre-built binaries are available at github releases.

Download and unpack the appropriate .zip or .tar.gz file for your OS and architecture.

The Windows binaries are not signed.

Status

The library seems to generate and parse messages correctly.

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.