package dkim
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6274cce79f084cc0196d1699ce8afa20ab106928d076883d94203209a1e410b9
sha512=d442c7e8cae22b08639efa66bd5451b0a536ea1f38699d74dfe352cd3437593d9185ec676bf8c82b0f19dd568adf2185af0f0bd9626686ff4b063931a2d333ad
Description
A library and a binary to verify and sign an email with the DKIM mechanism described by the RFC 6376
Published: 06 Mar 2023
README
ocaml-dkim
ocaml-dkim
is a pure implementation of DKIM in OCaml. It permits to verify and sign an incoming email. It can be use as a SMTP filter service (verify) or as a SMTP submission service (sign).
How to install it?
You must have an OPAM environment. Then, ocaml-dkim
can be installed with:
$ opam pin add https://github.com/dinosaure/ocaml-dkim.git
How to use it?
ocaml-dkim
provides 2 binaries, one to verify, the second to sign an email.
$ dkim.verify test/raw/001.mail
[ok]: sendgrid.info
[ok]: github.com
It shows all domains which signed the given email and whether the signature is correct or not (for the last case, it shows you the selector). ocaml-dkim
is able to sign an email from a private RSA key and a specific domain such as:
$ dkim.sign -k private-key.pem --selector admin --hostname x25519.net test/raw/001.mail
DKIM-Signature: ...
Rest of the email
It prints the signed email then. The user is able to use a specific RSA private key or it can use a seed used to generate the RSA private key with the fortuna random number generator.
ocaml-dkim
has received funding from the Next Generation Internet Initiative (NGI) within the framework of the DAPSI Project.
Dependencies (18)
-
x509
>= "0.12.0"
-
mirage-crypto-pk
>= "0.9.2" & < "1.0.0"
-
mirage-crypto
>= "0.9.2" & < "1.0.0"
-
base64
>= "3.0.0"
- fpath
-
fmt
>= "0.8.7"
- logs
-
cmdliner
>= "1.1.0"
-
dns-client
>= "6.4.0"
- domain-name
- hmap
- base-unix
-
astring
>= "0.8.5"
- ipaddr
-
digestif
>= "0.9.0"
-
mrmime
>= "0.5.0"
-
dune
>= "2.0.0"
-
ocaml
>= "4.08.0"
Dev Dependencies (2)
-
alcotest
with-test
-
mirage-crypto-rng
with-test & >= "0.11.0" & < "1.0.0"
Used by (2)
-
dkim-bin
< "0.6.0"
-
dkim-mirage
= "0.5.0"
Conflicts
None