Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cli-jwk-to-pem

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cli-jwk-to-pem

Convert a JSON Web Key to a PEM

  • 2.0.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
10
Maintainers
0
Weekly downloads
 
Created
Source

jwk-to-pem

Build Status Coverage Status

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 typesupport level
RSAall RSA keys
ECP-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

  1. Fork the repository. Committing directly against this repository is highly discouraged.

  2. Make your modifications in a branch, updating and writing new unit tests as necessary in the spec directory.

  3. Ensure that all tests pass with npm test

  4. rebase your changes against master. Do not merge.

  5. 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.

Keywords

FAQs

Package last updated on 12 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc