json-web-algorithms v0.2.0
JSON Web Algorithms (JWA)
JSON Web Algorithms (JWA) for JSON Object Signing and Encryption (JOSE)
Install via npm
$ npm install --save json-web-algorithmsSignature 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 : Object
- .SignatureAlgorithm : function
- .sign(algorithm, input, key) ⇒ Buffer
- .verify(algorithm, signature, input, key) ⇒ Boolean
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
- SignatureAlgorithm
- new SignatureAlgorithm(type, bits)
- instance
- ._signECDSA(digest) ⇒ Buffer
- .sign(input, key) ⇒ Buffer
- ._verifyHMAC(signature, input, key) ⇒ Boolean
- ._verifyRSA(signature, input, key) ⇒ Boolean
- ._verifyECDSA(signature, input, key) ⇒ Boolean
- .verify(signature, input, key) ⇒ Boolean
- static
- .type : Object
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