💯 SSH to JWK in a lightweight, zero-dependency library.
Go to file
AJ ONeal b1f3c7ee90 v1.0.1: update README 2018-12-01 22:05:03 -07:00
bin v1.0.0: parse EC and RSA ssh public keys 2018-12-01 20:32:22 -07:00
lib v1.0.1: update README 2018-12-01 22:05:03 -07:00
README.md v1.0.1: update README 2018-12-01 22:05:03 -07:00
index.js v1.0.0: parse EC and RSA ssh public keys 2018-12-01 20:32:22 -07:00
package.json v1.0.1: update README 2018-12-01 22:05:03 -07:00

README.md

SSH to JWK (for node.js)

A minimal library to parse an SSH public key (id_rsa.pub) and convert it into a public JWK.

Works for RSA and ECDSA public keys.

Features

< 100 lines of code | <1kb gzipped | 1.8kb minified | 3.1kb with comments

  • SSH Public Keys
  • RSA Public Keys
  • EC Public Keys
    • P-256 (prime256v1, secp256r1)
    • P-384 (secp384r1)
  • Browser Version

Need JWK to SSH? SSH to PEM?

Try one of these:

Need SSH Private Keys?

SSH private keys are just normal PEM files, so you can use Eckles or Rasha, as mentioned above.

CLI

You can install ssh-to-jwk and use it from command line:

npm install -g ssh-to-jwk
ssh-to-jwk ~/.ssh/id_rsa.pub

Usage

You can also use it from JavaScript:

var fs = require('fs');
var sshtojwk = require('ssh-to-jwk');

var pub = fs.readFileSync("./id_rsa.pub");
var ssh = sshtojwk.parse(pub);

console.info(ssh.jwk);

ssh-to-jwk.js | MPL-2.0 | Terms of Use | Privacy Policy