fuse-mars / node-dkim-signature

DKIM (DomainKey Identified Mail) Signature

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DomainKeys Identified Mail (DKIM) Signature

npm npm npm downloads build status

Install via npm

$ npm install dkim-signature

Usage

var DKIMSignature = require( 'dkim-signature' )

Suppose you have the content of the DKIM-Signature email header:

v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20120113;
 h=mime-version:date:message-id:subject:from:to:content-type;
 bh=DrlXO8ocnosZnW5ZN7P4S/fIdR8vwHj0TyzoPISZF2Q=;
 b=gOHBExs2JcJFRrozPDw88Js0dc0AHOo6YTZqrDTedfcK/jM/mxfu5rfVzuUnKAGiS5
 ZvRvXvwYjIW0B9t0DDHDOs5soIukuEXeUw9OV2QD8qc5pmOShuRQWyW5pRftTF87omkj
 gV2Eik5K2f8FpNlyvuLDjMUmyP8RpLaRrii6+kRRsoJzzP41IqALmlLmJfvtnkeu5kM0
 v4XnQ4hBNcaLuCmq3fZfCQFDexofECQOZ8FWE0VfdASG8HOJ6jgxuKwYtNfy11ySUSrI
 wFFlrjTfiNqSD9nzQns3j+xXLtqsvviJQXJgkC8O6mLel3GDwm8LHzBoszzqZ/FiL4rg
 Vdfw==

Parse the signature header:

var signature = DKIMSignature.parse( header )
{
  algorithm: 'rsa-sha256',
  canonical: 'relaxed/relaxed',
  copiedHeaders: [],
  domain: 'gmail.com',
  expires: null,
  hash: <Buffer 0e b9 57 3b ca 1c 9e 8b 19 9d 6e 59 37 b3 ...>,
  headers: [
    'mime-version',
    'date',
    'message-id',
    'subject',
    'from',
    'to',
    'content-type'
  ],
  identity: null,
  length: null,
  query: null,
  selector: '20120113',
  signature: <Buffer 80 e1 c1 13 1b 36 25 c2 45 46 ba 33 3c ...>,
  timestamp: null,
  version: '1'
}

Or create a signature header:

var signature = new DKIMSignature({
  algorithm: 'rsa-sha256',
  canonical: 'simple/relaxed',
  domain: 'into.space',
  headers: [
    'mime-version',
    'date',
    'message-id',
    'subject',
    ...
  ],
  selector: '20120113',
  signature: <Buffer 80 e1 c1 13 1b 36 25 c2 45 46 ba 33 3c ...>,
  version: '1'
})
signature.toString()

API

Constructor:

  • new Signature( options )
  • Signature.create( options )
  • Signature.parse( header )

Methods:

  • signature.parse( header )
  • signature.toString()

About

DKIM (DomainKey Identified Mail) Signature

License:MIT License


Languages

Language:JavaScript 100.0%