UNPKG

dkim-verifier

Version:

DKIM Signature Verifier in TypeScript

26 lines 1.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.verifyBody = exports.verifyDkimSignature = void 0; const crypto_1 = __importDefault(require("crypto")); const verifyDkimSignature = (dkim, headers, publicKey) => { const { a: algorithm, b: signature } = dkim; const verifier = crypto_1.default.createVerify(algorithm.toUpperCase()); verifier.update(headers); return verifier.verify(publicKey, signature, "base64"); }; exports.verifyDkimSignature = verifyDkimSignature; const verifyBody = (body, dkim) => { const { bh } = dkim; const bodyHash = hashBody(body); return bodyHash === bh; }; exports.verifyBody = verifyBody; const hashBody = (body) => { const hash = crypto_1.default.createHash("sha256"); hash.update(body); return hash.digest("base64"); }; //# sourceMappingURL=verification.js.map