JSPM

json-web-algorithms

0.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q28360F
  • License MIT

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

Package Exports

  • json-web-algorithms

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-web-algorithms) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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)

Type Signature / MAC & Hash algorithm
HS256 HMAC using SHA-256 hash algorithm
HS384 HMAC using SHA-384 hash algorithm
HS512 HMAC using SHA-512 hash algorithm

RSASSA (RSA Signature Scheme with Appendix)

Type Signature / MAC & Hash algorithm
RS256 RSASSA using SHA-256 hash algorithm
RS384 RSASSA using SHA-384 hash algorithm
RS512 RSASSA using SHA-512 hash algorithm

ECDSA (Elliptic Curve Digital Signature Algorithm)

Type Signature / MAC & Hash algorithm
ES256 ECDSA using P-256 curve and SHA-256 hash algorithm
ES384 ECDSA using P-384 curve and SHA-384 hash algorithm
ES512 ECDSA using P-521 curve and SHA-512 hash algorithm

PLAIN

Type Signature / MAC & Hash algorithm
PLAIN No 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

Param Type
algorithm String
input Buffer
key Buffer

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

Verify a signature with a given algorithm

Kind: static method of JWA

Param Type
algorithm String
signature Buffer
input Buffer
key Buffer

SignatureAlgorithm

Kind: global class

new SignatureAlgorithm(type, bits)

SignatureAlgorithm

Param Type
type String
bits Number

signatureAlgorithm._signECDSA(digest) ⇒ Buffer

Create a ECDSA signature for a given digest

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

Param Type
digest Buffer

signatureAlgorithm.sign(input, key) ⇒ Buffer

Sign an input with a given key

Kind: instance method of SignatureAlgorithm

Param Type
input Buffer
key Buffer

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

Verify an HMAC signature

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

Param Type
signature Buffer
input Buffer
key Buffer

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

Verify an RSA signature

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

Param Type
signature Buffer
input Buffer
key Buffer

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

Verify an ECDSA signature

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

Param Type
signature Buffer
input Buffer
key Buffer

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

Verify a signature against an input & key

Kind: instance method of SignatureAlgorithm

Param Type
signature Buffer
input Buffer
key Buffer

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