Data signing and verification for rotating credentials and algorithms.
(Inspired by keygrip and API compatible with keycrypt).
npm install keysign --save
Signs a Buffer
using the first key
(secret) and returns the data. Upon decoding, checks each secret for a valid HMAC and returns the plain data (or undefined
if nothing matches).
import { Keysign } from 'keysign'
const secrets = [Buffer.from('secret', 'utf8')]
const keysign = new Keysign(secrets)
const raw = Buffer.from('some data', 'utf8')
const signed = keysign.encode(raw)
const verified = keysign.decode(encrypted)
assert.equal(verified, raw)
This project is using TypeScript and publishes the definitions to NPM.
Apache 2.0