DKIM2 library and tools
Find a file
Steve Atkins ea47abdd9d
Some checks failed
/ release (push) Has been cancelled
Adding some tests
2026-06-05 18:15:34 +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 Adding some tests 2026-06-05 18:15:34 +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 Adding some tests 2026-06-05 18:15:34 +01:00
dkim2signature.go Added goreleaser and version flag. Updated some dependencies. Fixed some warnings. 2026-05-07 12:27:02 +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 Most everything works. 2026-05-05 12:21:11 +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 Added goreleaser and version flag. Updated some dependencies. Fixed some warnings. 2026-05-07 12:27:02 +01:00
recipe_header_test.go Most everything works. 2026-05-05 12:21:11 +01:00
recipe_headerdiff_test.go Added goreleaser and version flag. Updated some dependencies. Fixed some warnings. 2026-05-07 12:27:02 +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 Most everything works. 2026-05-05 12:21:11 +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 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
verify_errors.go Most everything works. 2026-05-05 12:21:11 +01:00
verify_test.go If two Dkim2-Signature headers reference the same Message-Instance header, don't remove that Message-Instance header until both signatures have been validated. 2026-05-19 15:03:37 +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.