The Swiss-army knife tool for node-jose for handling JSON Web Tokens.
node-jose-tools
provides a simple CLI through the jose
command for
JSON web-key (JWK) key and key store management as well as for handling
JSON web-tokens (JWT) in, both, the signed and encrypted variants.
The jose
command allows quick feature testing of node-jose functions.
node-jose-tools
have started to learn better about the different features of node-jose. It also provides reference implementations to many of the underlying functions. The tools and functions are separated to allow easy extension and quick orientation for how the different library features work.
node-jose-tools
are tested with node versions 12, 13, 14, and 15 on linux (ubuntu), Windows, and macOS.
It is recommended to use node version 12 or higher, due to the much better performance of the cryptographic functions.
On the command line run npm install -g node-jose-tools
.
Open your favorite shell and type.
> jose TOOL [OPTIONS]
The following tools are supported:
Key management
- addkey - add a new key to a jwks
- newkey - create a new key (that can be used by addkey)
- listkeys - list the key ids for all keys in a jwks
- findkey - find a kid in a jwks
- rmkey - remove a kid from a jwks
- thumbprint - generate key thumbprints and key-ids
- info - return basic information about a JWT without processing it
- sign - creates and signs a JWS for a given payload
- verify - verifies a JWS and return the payload
- encrypt - encrypt a payload into a JWE
- decrypt - decrypts a JWE and returns the payload
- digest - computes a SHA-2 digest of the provided input
Pro-tip Use the --help
or -h
flag to get the documentation directly on the command line.
The detailed documentation of the tools and plenty example application scenarios are available in the docs folder.
Please, use github for reporting issues and bugs.
If a certain part of the JOSE specifications is not supported by node-jose
, then these parts are also unsupported by this tool and not considered a bug.
This code is released under a MIT License. Please refer to the LICENSE file for more details.