From 08e9349ee7a5886fc02740524088f6b3174ba090 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Mon, 3 Dec 2018 00:12:32 -0700 Subject: [PATCH] v1.0.0: generate ssh-keygen compatible fingerprints --- README.md | 81 +++++++++++++++++++++++ index.html | 66 +++++++++++++++++++ package.json | 27 ++++++++ screenshot.png | Bin 0 -> 93915 bytes ssh-fingerprint.js | 157 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 331 insertions(+) create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 screenshot.png create mode 100644 ssh-fingerprint.js diff --git a/README.md b/README.md new file mode 100644 index 0000000..ad7f5fe --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# Bluecrypt SSH Fingerprint (for Browsers) + +A minimal library to read an SSH public key (`id_rsa.pub`) +and generate its fingerprint. + +Works for RSA and ECDSA public keys. + +# Features + +< 150 lines of code | 1.1kb gzipped | 2.4kb minified | 4.1kb with comments + +* [x] SSH Public Key SHA256 Fingerprints + * RSA (2048-bit, 3072-bit, 4096-bit) + * EC / ECDSA + * P-256 (prime256v1, secp256r1) + * P-384 (secp384r1) +* [x] Node.js version + * [Greenlock SSH Fingerprint](https://git.coolaj86.com/coolaj86/greenlock-ssh-fingerprint.js) + +### 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 + + + + + +```bash +git clone https://git.coolaj86.com/coolaj86/bluecrypt-ssh-fingerprint.js +pushd bluecrypt-ssh-fingerprint.js/ +``` + +```bash +open index.html +``` + +# Install + +You can use it as a plain-old javascript library: + +```html + +``` + +It's also on npm: + +```bash +npm install bluecrypt-ssh-fingerprint +``` + +# Usage + +Very simple: + +```js +var pub = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCba21UHE+VbDTpmYYFZUOV+OQ8AngOCdjROsPC0KiEfMvEaEM3NQl58u6QL7G7QsErKViiNPm9OTFo6HF5JijfWzK7haHFuRMEsgI4VwIYyhvqlJDfw/wt0AiVvSmoMfEQn1p1aiaO4V/RJSE3Vw/uz2bxiT22uSkSqOyShyfYE6dMHnuoBkzr4jvSifT+INmbv6Nyo4+AAMCZtYeHLrsFeSTjLL9jMPjI4ZkVdlw2n3Xn9NbltF3/8Ao8dQfElqw+LIQWqU0oFHYNIP4ttfl5ObMKHaKSvBMyNruZR0El/ZsrcHLkAHRCLj07KRQJ81l5CUTPtQ02P1Eamz/nT4I3 rsa@localhost'; + +SSH.fingerprint({ pub: pub }).then(function (fing) { + console.info('The key fingerprint is:'); + console.info(fing.fingerprint); +}); +``` + +# Other Tools in the Bluecrypt Suite + +* [Browser JWK to SSH](https://git.coolaj86.com/coolaj86/bluecrypt-jwk-to-ssh.js) +* [Browser SSH to JWK](https://git.coolaj86.com/coolaj86/bluecrypt-ssh-to-jwk.js) +* [Browser ASN.1 parser](https://git.coolaj86.com/coolaj86/asn1-parser.js) (for x509, etc) +* [Browser ASN.1 packer](https://git.coolaj86.com/coolaj86/asn1-packer.js) (for x509, etc) + +# Legal + +[ssh-fingerprint.js](https://git.coolaj86.com/coolaj86/bluecrypt-ssh-fingerprint.js) | +MPL-2.0 | +[Terms of Use](https://therootcompany.com/legal/#terms) | +[Privacy Policy](https://therootcompany.com/legal/#privacy) + +Bluecrypt™ is owned by AJ ONeal diff --git a/index.html b/index.html new file mode 100644 index 0000000..796f914 --- /dev/null +++ b/index.html @@ -0,0 +1,66 @@ + + + + SSH Fingerprint Generator - Bluecrypt + + + +

Bluecrypt SSH Fingerprint Generator

+ + + +
 
+ +
+
 
+
+ +
+

Made with ssh-fingerprint.js

+ + + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..7637091 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "bluecrypt-ssh-fingerprint", + "version": "1.0.0", + "description": "SSH Fingerprint in < 150 lines of VanillaJS, part of the Bluecrypt suite for Browser Crypto.", + "homepage": "https://git.coolaj86.com/coolaj86/bluecrypt-ssh-fingerprint.js", + "main": "ssh-fingerprint.js", + "scripts": { + "prepare": "uglifyjs ssh-fingerprint.js > ssh-fingerprint.min.js" + }, + "directories": { + "lib": "lib" + }, + "repository": { + "type": "git", + "url": "https://git.coolaj86.com/coolaj86/bluecrypt-ssh-fingerprint.js" + }, + "keywords": [ + "zero-dependency", + "SSH", + "Fingerprint", + "rsa", + "ec", + "ecdsa" + ], + "author": "AJ ONeal (https://coolaj86.com/)", + "license": "MPL-2.0" +} diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e7962f789c38cf4c25d2858afea251490f5ac9 GIT binary patch literal 93915 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�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 15) { throw new Error("15+ elements, probably not a public ssh key"); } + len = dv.getUint32(index, false); + index += 4; + el = buf.slice(index, index + len); + // remove BigUInt '00' prefix + if (0x00 === el[0]) { + el = el.slice(1); + } + els.push(el); + index += len; + } + if (fulllen !== index) { + throw new Error("invalid ssh public key length \n" + els.map(function (b) { + return Enc.bufToHex(b); + }).join('\n')); + } + + ssh.elements = els; + return ssh; +}; + +SSH.parseKeyType = function (ssh) { + var els = ssh.elements; + var typ = Enc.bufToBin(els[0]); + + // RSA keys are all the same + if (SSH.types.rsa === typ) { + ssh.kty = 'RSA'; + ssh.size = (ssh.elements[2].byteLength || ssh.lements[2].length); + return ssh; + } + + // EC keys are each different + if (SSH.types.p256 === typ) { + ssh.kty = 'EC'; + ssh.size = 32; + } else if (SSH.types.p384 === typ) { + ssh.kty = 'EC'; + ssh.size = 48; + } else { + throw new Error("Unsupported ssh public key type: " + + Enc.bufToBin(els[0])); + } + + return ssh; +}; + +SSH.types = { + // 19 '00000013' + // e c d s a - s h a 2 - n i s t p 2 5 6 + // 65636473612d736861322d6e69737470323536 + // 6e69737470323536 + p256: 'ecdsa-sha2-nistp256' + + // 19 '00000013' + // e c d s a - s h a 2 - n i s t p 3 8 4 + // 65636473612d736861322d6e69737470333834 + // 6e69737470323536 +, p384: 'ecdsa-sha2-nistp384' + + // 7 '00000007' + // s s h - r s a + // 7373682d727361 +, rsa: 'ssh-rsa' +}; + +Enc.base64ToBuf = function (b64) { + return Enc.binToBuf(atob(b64)); +}; + +Enc.binToBuf = function (bin) { + var arr = bin.split('').map(function (ch) { + return ch.charCodeAt(0); + }); + return 'undefined' !== typeof Uint8Array ? new Uint8Array(arr) : arr; +}; + +Enc.bufToBase64 = function (u8) { + var bin = ''; + u8.forEach(function (i) { + bin += String.fromCharCode(i); + }); + return btoa(bin); +}; + +Enc.bufToBin = function (buf) { + var bin = ''; + // cannot use .map() because Uint8Array would return only 0s + buf.forEach(function (ch) { + bin += String.fromCharCode(ch); + }); + return bin; +}; + +}('undefined' !== typeof window ? window : module.exports));