cli-jwk-to-pem
v2.0.7
Published
Convert a JSON Web Key to a PEM
Downloads
15
Readme
jwk-to-pem
Convert a json web key to a PEM for use by OpenSSL or crypto
.
Install CLI
npm install jwk-to-pem-cli -g
CLI Usage
Usage: jwk-to-pem [options]
CLI to convert jwk to pem
Options:
-V, --version output the version number
--jwk <type> The JSON Web Key in string format that you want to convert to PEM.
-p, --public Outputs the PEM as a public key. If this flag is provided, the command will convert the JWK to a PEM format for a public key. (default: false)
-h, --help display help for command
jwk-to-pem --jwk '{"kty":"RSA","n":"jp....tOg0l7H0OhpG7Ey2RuO8"}'
Output:
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCOmKau+pJqxgip
******
6nsdbpCh30e1qUmDK6lvKcv8TYQo2Z3+kNiLg+8jx7bKxIMA5ETdLGoc/RQ0CGqC
++06DSXsfQ6GkbsTLZG47w==
-----END PRIVATE KEY-----
Install
npm install jwk-to-pem --save
Usage
var jwkToPem = require('jwk-to-pem'),
jwt = require('jsonwebtoken');
var jwk = { kty: 'EC', crv: 'P-256', x: '...', y: '...' },
pem = jwkToPem(jwk);
jwt.verify(token, pem);
Support
key type | support level ---------|-------------- RSA | all RSA keys EC | P-256, P-384, and P-521 curves
API
jwkToPem(Object jwk[, Object options])
-> String
The first parameter should be an Object representing the jwk, it may be public or private. By default, either of the two will be made into a public PEM. The call will throw if the input jwk is malformed or does not represent a valid key.
Option: private Boolean
(false)
You may optionally specify that you would like a private PEM. This can be done
by passing true
to the private
option. The call will throw if the necessary
private parameters are not available.
Contributing
Fork the repository. Committing directly against this repository is highly discouraged.
Make your modifications in a branch, updating and writing new unit tests as necessary in the
spec
directory.Ensure that all tests pass with
npm test
rebase
your changes against master. Do not merge.Submit a pull request to this repository. Wait for tests to run and someone to chime in.
Code Style
This repository is configured with EditorConfig and ESLint rules.