Bluecrypt SSH to JWK in VanillaJS for Browsers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
AJ ONeal 8bc9439f2b simplify 5 years ago
README.md v1.0.2: add screenshot 5 years ago
index.html simplify 5 years ago
package.json v1.0.3: handle multiple 0x00 pads 5 years ago
ssh-to-jwk.js v1.0.3: handle multiple 0x00 pads 5 years ago
ssh-to-jwk.min.js v1.0.0: parse SSH public keys in the browser 5 years ago

README.md

Bluecrypt SSH to JWK (for Browsers)

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

Works for RSA and ECDSA public keys.

Features

< 150 lines of code | 1.0kb gzipped | 2.4kb minified | 3.7kb with comments

Need SSH Private Keys?

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

Web Demo

https://coolaj86.com/demos/ssh-to-jwk/

git clone https://git.coolaj86.com/coolaj86/bluecrypt-ssh-to-jwk.js
pushd bluecrypt-ssh-to-jwk.js/
open index.html

Install

You can use it as a plain-old javascript library:

<script src="https://git.coolaj86.com/coolaj86/bluecrypt-ssh-to-jwk.js/raw/branch/master/ssh-to-jwk.js"></script>

It's also on npm:

npm install bluecrypt-ssh-to-jwk

Usage

Very simple:

var pub = 'ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCE9Uli8bGnD4hOWdeo5KKQJ/P/vOazI4MgqJK54w37emP2JwOAOdMmXuwpxbKng3KZz27mz+nKWIlXJ3rzSGMo= root@localhost';

var ssh = SSH.parse(pub);

console.info(ssh.jwk);

Other Tools in the Bluecrypt Suite

Legal

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

Bluecrypt™ is owned by AJ ONeal