dkim-verifier
TypeScript icon, indicating that this package has built-in type declarations

0.0.11 • Public • Published

DKIM Signature Verification with Typescript

MIT License Language npm version CI Check

A dkim signature implementation with imap example and circom circuit.

Use at your own risk.

Install

$ npm i dkim-verifier

Usage

import { readFileSync } from "fs";
import {
  parseEmailToCanonicalized,
  verifyBody,
  verifyDkimSignature,
  getDkimPublicKey,
} from "dkim-verifier";

const emailRaw = fs.readFileSync("tests/example.eml", "utf8");
const { canonicalizedHeaders, canonicalizedBody, dkim } =
  parseEmailToCanonicalized(emailRaw);
const isBodyVerified = verifyBody(canonicalizedBody, dkim);
const publicKey = await getDkimPublicKey(dkim);
const isDkimVerified = verifyDkimSignature(
  dkim,
  canonicalizedHeaders,
  publicKey,
);

expect(isBodyVerified).toBe(true);
expect(isDkimVerified).toBe(true);

Test

$ yarn test

Example

Please set your gmail account info.

$ cp .env.example .env
$ ts-node example/imap.ts

Package Sidebar

Install

npm i dkim-verifier

Weekly Downloads

27

Version

0.0.11

License

Apache-2.0

Unpacked Size

47.7 kB

Total Files

26

Last publish

Collaborators

  • ashwhitehat