0.2.0 • Published 5 years ago

json-web-algorithms v0.2.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

JSON Web Algorithms (JWA)

npm npm license npm downloads build status

JSON Web Algorithms (JWA) for JSON Object Signing and Encryption (JOSE)

Install via npm

$ npm install --save json-web-algorithms

Signature Algorithms

HMAC (Hash-based Message Authentication Code)

TypeSignature / MAC & Hash algorithm
HS256HMAC using SHA-256 hash algorithm
HS384HMAC using SHA-384 hash algorithm
HS512HMAC using SHA-512 hash algorithm

RSASSA (RSA Signature Scheme with Appendix)

TypeSignature / MAC & Hash algorithm
RS256RSASSA using SHA-256 hash algorithm
RS384RSASSA using SHA-384 hash algorithm
RS512RSASSA using SHA-512 hash algorithm

ECDSA (Elliptic Curve Digital Signature Algorithm)

TypeSignature / MAC & Hash algorithm
ES256ECDSA using P-256 curve and SHA-256 hash algorithm
ES384ECDSA using P-384 curve and SHA-384 hash algorithm
ES512ECDSA using P-521 curve and SHA-512 hash algorithm

PLAIN

TypeSignature / MAC & Hash algorithm
PLAINNo digital signature or MAC value included

Usage

var JOSE = require( 'jose' )
// Sign something
var signature = JOSE.sign( 'HS256' input, key )
// Verify a signature
var isValid = JOSE.verify( 'HS256', signature, input, key )

API Reference

JWA : Object

JSON Web Algorithms

Kind: global variable

JWA.SignatureAlgorithm : function

Kind: static class of JWA

new JWA.SignatureAlgorithm()

JWA SignatureAlgorithm

JWA.sign(algorithm, input, key) ⇒ Buffer

Sign an input with a given algorithm

Kind: static method of JWA Returns: Buffer - signature

ParamType
algorithmString
inputBuffer
keyBuffer

JWA.verify(algorithm, signature, input, key) ⇒ Boolean

Verify a signature with a given algorithm

Kind: static method of JWA

ParamType
algorithmString
signatureBuffer
inputBuffer
keyBuffer

SignatureAlgorithm

Kind: global class

new SignatureAlgorithm(type, bits)

SignatureAlgorithm

ParamType
typeString
bitsNumber

signatureAlgorithm._signECDSA(digest) ⇒ Buffer

Create a ECDSA signature for a given digest

Kind: instance method of SignatureAlgorithm Internal: used by .sign()

ParamType
digestBuffer

signatureAlgorithm.sign(input, key) ⇒ Buffer

Sign an input with a given key

Kind: instance method of SignatureAlgorithm

ParamType
inputBuffer
keyBuffer

signatureAlgorithm._verifyHMAC(signature, input, key) ⇒ Boolean

Verify an HMAC signature

Kind: instance method of SignatureAlgorithm Internal: used by .verify()

ParamType
signatureBuffer
inputBuffer
keyBuffer

signatureAlgorithm._verifyRSA(signature, input, key) ⇒ Boolean

Verify an RSA signature

Kind: instance method of SignatureAlgorithm Internal: used by .verify()

ParamType
signatureBuffer
inputBuffer
keyBuffer

signatureAlgorithm._verifyECDSA(signature, input, key) ⇒ Boolean

Verify an ECDSA signature

Kind: instance method of SignatureAlgorithm Internal: used by .verify()

ParamType
signatureBuffer
inputBuffer
keyBuffer

signatureAlgorithm.verify(signature, input, key) ⇒ Boolean

Verify a signature against an input & key

Kind: instance method of SignatureAlgorithm

ParamType
signatureBuffer
inputBuffer
keyBuffer

SignatureAlgorithm.type : Object

SignatureAlgorithm type algorithms NOTE: OpenSSL only signs EC with SHA2 when specifying RSA and using an EC key

Kind: static property of SignatureAlgorithm