Comparing version 1.0.1 to 1.0.2
30
node.js
@@ -115,6 +115,12 @@ /*! | ||
var jwk = me.RSA.exportPublicJwk(options.accountKeypair); | ||
var contact; | ||
if (options.contact) { | ||
contact = options.contact.slice(0); | ||
} else if (options.email) { | ||
contact = [ 'mailto:' + options.email ] | ||
} | ||
var body = { | ||
termsOfServiceAgreed: tosUrl === me._tos | ||
, onlyReturnExisting: false | ||
, contact: [ 'mailto:' + options.email ] | ||
, contact: contact | ||
}; | ||
@@ -154,2 +160,4 @@ if (options.externalAccount) { | ||
}).then(function (resp) { | ||
var account = resp.body; | ||
me._nonce = resp.toJSON().headers['replay-nonce']; | ||
@@ -162,3 +170,19 @@ var location = resp.toJSON().headers.location; | ||
if (me.debug) console.debug(resp.toJSON()); | ||
return resp.body; | ||
/* | ||
{ | ||
id: 5925245, | ||
key: | ||
{ kty: 'RSA', | ||
n: 'tBr7m1hVaUNQjUeakznGidnrYyegVUQrsQjNrcipljI9Vxvxd0baHc3vvRZWFyFO5BlS7UDl-KHQdbdqb-MQzfP6T2sNXsOHARQ41pCGY5BYzIPRJF0nD48-CY717is-7BKISv8rf9yx5iSjvK1wZ3Ke3YIpxzK2fWRqccVxXQ92VYioxOfGObACgEUSvdoEttWV2B0Uv4Sdi6zZbk5eo2zALvyGb1P4fKVfQycGLXC41AyhHOAuTqzNCyIkiWEkbfh2lZNcYClP2epS0pHRFXYyjJN6-c8InfM3PISo4k6Qew65HZ-oqUow0tTIgNwuen9q5O6Hc73GvU-2npGJVQ', | ||
e: 'AQAB' }, | ||
contact: [], | ||
initialIp: '198.199.82.211', | ||
createdAt: '2018-04-16T00:41:00.720584972Z', | ||
status: 'valid' | ||
} | ||
*/ | ||
if (!account) { account = { _emptyResponse: true, key: {} }; } | ||
account.key.kid = me._kid; | ||
return account; | ||
}).then(resolve, reject); | ||
@@ -169,5 +193,7 @@ } | ||
if (1 === options.agreeToTerms.length) { | ||
// newer promise API | ||
return options.agreeToTerms(me._tos).then(agree, reject); | ||
} | ||
else if (2 === options.agreeToTerms.length) { | ||
// backwards compat cb API | ||
return options.agreeToTerms(me._tos, function (err, tosUrl) { | ||
@@ -174,0 +200,0 @@ if (!err) { agree(tosUrl); return; } |
{ | ||
"name": "acme-v2", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"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", | ||
@@ -5,0 +5,0 @@ "homepage": "https://git.coolaj86.com/coolaj86/acme-v2.js", |
acme-v2.js (draft 11) | ||
========== | ||
| [acme-v2.js](https://git.coolaj86.com/coolaj86/acme-v2.js) | ||
| [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) | ||
| Sponsored by [ppl](https://ppl.family) | ||
A framework for building letsencrypt v2 (IETF ACME draft 11) clients, successor to `le-acme-core.js`. | ||
A framework for building Let's Encrypt v2 (ACME draft 11) clients, successor to `le-acme-core.js`. | ||
Built [by request](https://git.coolaj86.com/coolaj86/greenlock.js/issues/5#issuecomment-8). | ||
Summary of spec that I'm working off of here: https://git.coolaj86.com/coolaj86/greenlock.js/issues/5#issuecomment-8 | ||
## 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). | ||
* [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. | ||
I'd recommend first running the example CLI client with a test domain and then investigating the files used for that example: | ||
```bash | ||
node examples/cli.js | ||
``` | ||
The example cli has the following prompts: | ||
``` | ||
What web address(es) would you like to get certificates for? (ex: example.com,*.example.com) | ||
What challenge will you be testing today? http-01 or dns-01? [http-01] | ||
What email should we use? (optional) | ||
What API style would you like to test? v1-compat or promise? [v1-compat] | ||
Put the string 'mBfh0SqaAV3MOK3B6cAhCbIReAyDuwuxlO1Sl70x6bM.VNAzCR4THe4czVzo9piNn73B1ZXRLaB2CESwJfKkvRM' into a file at 'example.com/.well-known/acme-challenge/mBfh0SqaAV3MOK3B6cAhCbIReAyDuwuxlO1Sl70x6bM' | ||
echo 'mBfh0SqaAV3MOK3B6cAhCbIReAyDuwuxlO1Sl70x6bM.VNAzCR4THe4czVzo9piNn73B1ZXRLaB2CESwJfKkvRM' > 'example.com/.well-known/acme-challenge/mBfh0SqaAV3MOK3B6cAhCbIReAyDuwuxlO1Sl70x6bM' | ||
Then hit the 'any' key to continue... | ||
``` | ||
When you've completed the challenge you can hit a key to continue the process. | ||
If you place the certificate you receive back in `tests/fullchain.pem` | ||
you can then test it with `examples/https-server.js`. | ||
``` | ||
examples/cli.js | ||
examples/genkeypair.js | ||
tests/compat.js | ||
``` | ||
## Let's Encrypt Directory URLs | ||
@@ -139,3 +187,7 @@ | ||
* v1.0.0 | ||
* v1.0.2 | ||
* use `options.contact` to provide raw contact array | ||
* made `options.email` optional | ||
* file cleanup | ||
* v1.0.1 | ||
* Compat API is ready for use | ||
@@ -142,0 +194,0 @@ * Eliminate debug logging |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
42526
11
937
215
5
3