1. Overview
  2. Docs
Implementation of DKIM in OCaml







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

How to use it?

ocaml-dkim provides 2 binaries, one to verify, the second to sign an email.

$ dkim.verify test/raw/001.mail

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 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.