From 1c0701cd51bf46b4b43caecd3dadb41b97ee5c7e Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Tue, 7 May 2019 23:46:01 -0600 Subject: [PATCH] merge working features and add some docs --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++------ bundle.sh | 41 +++++++++++++++++++++++++++++++++++++++++ package.json | 11 ++++++++--- 3 files changed, 92 insertions(+), 9 deletions(-) create mode 100755 bundle.sh diff --git a/README.md b/README.md index 891922c..187800e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,46 @@ -# Bluecrypt™ Keypairs +# Bluecrypt™ [Keypairs](https://git.rootprojects.org/root/bluecrypt-keypairs.js) | A [Root](https://rootprojects.org) Project A port of [keypairs.js](https://git.coolaj86.com/coolaj86/keypairs.js) to the browser. -* Keypairs - * Eckles (ECDSA) - * Rasha (RSA) - * X509 - * ASN1 +# Features (port in-progress) + + * [x] Keypair generation and encoding + * [x] RSA + * [x] ECDSA (P-256, P-384) + * [x] JWK-to-PEM + * [ ] JWK-to-SSH + * [ ] PEM-to-JWK + * [ ] SSH-to-JWK + * [x] ASN1, X509, PEM, DER + * [x] SHA256 JWK Thumbprints + * [x] Sign JWS + * [ ] Create JWTs + * [ ] JWK fetching. See [Keyfetch.js](https://npmjs.com/packages/keyfetch/) + * [ ] OIDC + * [ ] Auth0 + * [ ] CLI (ee [keypairs-cli](https://npmjs.com/packages/keypairs-cli/)) + * [ ] Node.js (ee [keypairs.js](https://npmjs.com/packages/keypairs.js)) + * [ ] [CSR.js](https://git.rootprojects.org/root/bluecrypt-csr.js) + * [ ] [ACME.js](https://git.rootprojects.org/root/bluecrypt-acme.js) (Let's Encyrpt) + +# Online Demos + +* Bluecrypt Keypairs.js Demo + +# QuickStart + +`bluecrypt-keypairs.js` +```html + +``` + +`bluecrypt-keypairs.min.js` +```html + +``` + +You can see `index.html` and `app.js` in the repo for full example usage. + +# Documentation + +See [keypairs.js](https://git.coolaj86.com/coolaj86/keypairs.js) for documentation. diff --git a/bundle.sh b/bundle.sh new file mode 100755 index 0000000..5973e01 --- /dev/null +++ b/bundle.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Development Version +cat > bluecrypt-keypairs.js << EOF +// Copyright 2015-2019 AJ ONeal. All rights reserved +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +; +EOF +cat ./lib/encoding.js \ + ./lib/asn1-packer.js \ + ./lib/x509.js \ + ./lib/ecdsa.js \ + ./lib/rsa.js \ + ./lib/keypairs.js \ + >> bluecrypt-keypairs.js + +# Gzipped +cat > bluecrypt-keypairs.min.js << EOF +// Copyright 2015-2019 AJ ONeal. All rights reserved +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +; +EOF +uglifyjs bluecrypt-keypairs.js >> bluecrypt-keypairs.min.js +gzip bluecrypt-keypairs.min.js + +# Minified Gzipped +cat > bluecrypt-keypairs.min.js << EOF +// Copyright 2015-2019 AJ ONeal. All rights reserved +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +; +EOF +uglifyjs bluecrypt-keypairs.js >> bluecrypt-keypairs.min.js + +rsync -av ./ root@beta.rootprojects.org:~/beta.rootprojects.org/keypairs/ +rsync -av ./ ubuntu@rootprojects.org:/srv/www/rootprojects.org/keypairs/ diff --git a/package.json b/package.json index 3dd19e2..7dd2734 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,18 @@ { - "name": "bluecrypt-keypairs", + "name": "@bluecrypt/keypairs", "version": "0.1.1", "description": "Zero-Dependency Native Browser support for ECDSA P-256 and P-384, and RSA 2048/3072/4096 written in VanillaJS", + "homepage": "https://rootprojects.org/keypairs/", + "files": [ + "lib", + "bluecrypt-keypairs.js", + "bluecrypt-keypairs.min.js" + ] "directories": { "lib": "lib" }, "scripts": { - "test": "node server.js", - "start": "node server.js" + "test": "node test.js" }, "repository": { "type": "git",