Bluecrypt JWK to SSH (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

< 100 lines of code | < 1.0kb gzipped | 2.0kb minified | 2.9kb with comments

Need SSH Private Keys?

SSH private keys (id_rsa) are just normal PEM files.

Web Demo

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

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

Install

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

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

It's also on npm:

npm install bluecrypt-jwk-to-ssh

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

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

Bluecrypt™ is owned by AJ ONeal

Description
JWK to SSH in < 100 lines of VanillaJS.
Readme 25 KiB
Languages
JavaScript 60.3%
HTML 39.7%