From 684048a27553c4ac9dde46bdda9c6f530e1415c8 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sun, 16 Dec 2018 21:10:52 -0700 Subject: [PATCH] v1.3.0: reduce deps, update rsa-compat, fix rando JWK bug --- README.md | 37 +++++++++++++++++++++++++++-------- package-lock.json | 50 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +++--- 3 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 package-lock.json diff --git a/README.md b/README.md index f37bea6..912f251 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,33 @@ -| Sponsored by [ppl](https://ppl.family) | **acme-v2.js** ([npm](https://www.npmjs.com/package/acme-v2)) | [acme-v2-cli.js](https://git.coolaj86.com/coolaj86/acme-v2-cli.js) | [greenlock.js](https://git.coolaj86.com/coolaj86/greenlock.js) | [goldilocks.js](https://git.coolaj86.com/coolaj86/goldilocks.js) | -acme-v2.js -========== +| A [Root](https://therootcompany.com) Project -A framework for building Let's Encrypt v2 (ACME draft 11) clients, successor to `le-acme-core.js`. +# [acme-v2.js](https://git.coolaj86.com/coolaj86/acme-v2.js) + +A lightweight, **Low Dependency*** framework for building +Let's Encrypt v2 (ACME draft 12) clients, successor to `le-acme-core.js`. Built [by request](https://git.coolaj86.com/coolaj86/greenlock.js/issues/5#issuecomment-8). +* although `node-forge` and `ursa` are included as `optionalDependencies` +for backwards compatibility with older versions of node, there are no other +dependencies except those that I wrote for this (and related) projects. + ## Looking for Quick 'n' Easy™? -If you're looking for an *ACME-enabled webserver*, try [goldilocks.js](https://git.coolaj86.com/coolaj86/goldilocks.js). If you're looking to *build a webserver*, try [greenlock.js](https://git.coolaj86.com/coolaj86/greenlock.js). +If you're looking for an *ACME-enabled webserver*, try [goldilocks.js](https://git.coolaj86.com/coolaj86/goldilocks.js). * [greenlock.js](https://git.coolaj86.com/coolaj86/greenlock.js) * [goldilocks.js](https://git.coolaj86.com/coolaj86/goldilocks.js) ## How to build ACME clients -As this is intended to build ACME clients, there is not a simple 2-line example. +As this is intended to build ACME clients, there is not a simple 2-line example +(and if you want that, see [greenlock-express.js](https://git.coolaj86.com/coolaj86/greenlock-express.js)). I'd recommend first running the example CLI client with a test domain and then investigating the files used for that example: @@ -185,9 +191,17 @@ ACME.challengePrefixes['http-01'] // '/.well-known/acme-challenge' ACME.challengePrefixes['dns-01'] // '_acme-challenge' ``` -Changelog ---------- +# Changelog +* v1.3 + * Use node RSA keygen by default + * No non-optional external deps! +* v1.2 + * fix some API out-of-specness + * doc some magic numbers (status) + * updated deps +* v1.1.0 + * reduce dependencies (use lightweight @coolaj86/request instead of request) * v1.0.5 - cleanup logging * v1.0.4 - v6- compat use `promisify` from node's util or bluebird * v1.0.3 - documentation cleanup @@ -219,3 +233,10 @@ Changelog * Mar 15, 2018 - generate account keypair * Mar 15, 2018 - get nonce * Mar 15, 2018 - get directory + +# Legal + +[acme-v2.js](https://git.coolaj86.com/coolaj86/acme-v2.js) | +MPL-2.0 | +[Terms of Use](https://therootcompany.com/legal/#terms) | +[Privacy Policy](https://therootcompany.com/legal/#privacy) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..396afda --- /dev/null +++ b/package-lock.json @@ -0,0 +1,50 @@ +{ + "name": "acme-v2", + "version": "1.3.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@coolaj86/urequest": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@coolaj86/urequest/-/urequest-1.3.6.tgz", + "integrity": "sha512-9rBXLFSb5D19opGeXdD/WuiFJsA4Pk2r8VUGEAeUZUxB1a2zB47K85BKAx3Gy9i4nZwg22ejlJA+q9DVrpQlbA==" + }, + "bindings": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", + "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==", + "optional": true + }, + "nan": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.0.tgz", + "integrity": "sha512-zT5nC0JhbljmyEf+Z456nvm7iO7XgRV2hYxoBtPpnyp+0Q4aCoP6uWNn76v/I6k2kCYNLWqWbwBWQcjsNI/bjw==", + "optional": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "optional": true + }, + "rsa-compat": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/rsa-compat/-/rsa-compat-1.9.2.tgz", + "integrity": "sha512-XY4I/74W+QENMd99zVsyHQcxYxWTXd0EihVXsI4oeb1bz7DYxEKasQrjyzYPnR1tZT7fTPu5HP/vTKfs9lzdGA==", + "requires": { + "node-forge": "^0.7.6", + "ursa-optional": "^0.9.10" + } + }, + "ursa-optional": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.9.10.tgz", + "integrity": "sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA==", + "optional": true, + "requires": { + "bindings": "^1.3.0", + "nan": "^2.11.1" + } + } + } +} diff --git a/package.json b/package.json index 3ccac1b..651519e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "acme-v2", - "version": "1.2.1", + "version": "1.3.0", "description": "Free SSL. A framework for building Let's Encrypt v2 clients, and other ACME v2 (draft 11) clients. Successor to le-acme-core.js", "homepage": "https://git.coolaj86.com/coolaj86/acme-v2.js", "main": "node.js", @@ -24,9 +24,9 @@ "letsencrypt" ], "author": "AJ ONeal (https://coolaj86.com/)", - "license": "(MIT OR Apache-2.0)", + "license": "MPL-2.0", "dependencies": { "@coolaj86/urequest": "^1.3.6", - "rsa-compat": "^1.5.1" + "rsa-compat": "^1.9.2" } }