node-jose-tools for JOSE key management, token signing and encryptionThe Swiss-army knife tool for node-jose for handling JSON Web Tokens.
node-jose-toolsprovides 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.
josecommand allows quick feature testing of node-jose functions.
node-jose-toolshave 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.
Supported platforms and node versions
node-jose-toolsare 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.
InstallingOn the command line run ``
npm install -g node-jose-tools``.
RunningOpen 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
Documentation and ExamplesPro-tip Use the
-hflag 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.
Reporting Bugs, Issues and Missing FeaturesPlease, 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.