From 48c6f842b4524c7715f4edd683355ea9e7f4fabd Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sun, 7 Apr 2019 14:54:02 -0600 Subject: [PATCH] v1.7.6: add http-01 url to challenge --- node.js | 16 ++++++++++++---- package-lock.json | 8 ++++---- package.json | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/node.js b/node.js index afca1ef..85154bf 100644 --- a/node.js +++ b/node.js @@ -378,20 +378,28 @@ ACME._challengeToAuth = function (me, options, request, challenge, dryrun) { // { type, status, url, token } // (note the duplicate status overwrites the one above, but they should be the same) Object.keys(challenge).forEach(function (key) { - auth[key] = challenge[key]; + // don't confused devs with the id url + if ('url' === key) { + //auth.uri = challenge.url; + } else { + auth[key] = challenge[key]; + } }); // batteries-included helpers - auth.hostname = request.identifier.value; + auth.hostname = auth.identifier.value; + // because I'm not 100% clear if the wildcard identifier does or doesn't have the leading *. in all cases + auth.altname = ACME._untame(auth.identifier.value, auth.wildcard); auth.thumbprint = me.RSA.thumbprint(options.accountKeypair); // keyAuthorization = token || '.' || base64url(JWK_Thumbprint(accountKey)) auth.keyAuthorization = challenge.token + '.' + auth.thumbprint; + // conflicts with ACME challenge id url, if we ever decide to use it, but this just makes sense + // (as opposed to httpUrl or challengeUrl or uri, etc - I'd be happier to call the id url a uri) + auth.url = 'http://' + auth.identifier.value + ACME.challengePrefixes['http-01'] + '/' + auth.token; auth.dnsHost = dnsPrefix + '.' + auth.hostname.replace('*.', ''); auth.dnsAuthorization = ACME._toWebsafeBase64( require('crypto').createHash('sha256').update(auth.keyAuthorization).digest('base64') ); - // because I'm not 100% clear if the wildcard identifier does or doesn't have the leading *. in all cases - auth.altname = ACME._untame(request.identifier.value, request.wildcard); return auth; }; diff --git a/package-lock.json b/package-lock.json index 114b766..c763d17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,13 @@ { "name": "acme-v2", - "version": "1.5.3", + "version": "1.7.6", "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==" + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@coolaj86/urequest/-/urequest-1.3.7.tgz", + "integrity": "sha512-PPrVYra9aWvZjSCKl/x1pJ9ZpXda1652oJrPBYy5rQumJJMkmTBN3ux+sK2xAUwVvv2wnewDlaQaHLxLwSHnIA==" }, "eckles": { "version": "1.4.1", diff --git a/package.json b/package.json index 84048d8..98ef2a3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "acme-v2", - "version": "1.7.5", + "version": "1.7.6", "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",