|
|
@ -339,7 +339,7 @@ module.exports.create = function (gl) { |
|
|
|
, domainKeypair: domainKeypair |
|
|
|
, subject: args.subject // TODO handle this in acme-v2
|
|
|
|
, domains: args.domains |
|
|
|
, challengeType: args.challengeType |
|
|
|
, challengeTypes: Object.keys(args.challenges) |
|
|
|
}; |
|
|
|
|
|
|
|
//
|
|
|
@ -353,21 +353,44 @@ module.exports.create = function (gl) { |
|
|
|
// Each of these fires individually for each domain,
|
|
|
|
// even though the certificate on the whole may have many domains
|
|
|
|
//
|
|
|
|
certReq.setChallenge = function (domain, key, value, done) { |
|
|
|
log(args.debug, "setChallenge called for '" + domain + "'"); |
|
|
|
var copy = utils.merge({ domains: [domain] }, args); |
|
|
|
certReq.setChallenge = function (challenge, done) { |
|
|
|
log(args.debug, "setChallenge called for '" + challenge.altname + "'"); |
|
|
|
var copy = utils.merge({ domains: [challenge.altname] }, args); |
|
|
|
copy = utils.merge(copy, gl); |
|
|
|
utils.tplCopy(copy); |
|
|
|
|
|
|
|
// TODO need to save challengeType
|
|
|
|
gl.challenges[args.challengeType].set(copy, domain, key, value, done); |
|
|
|
copy.challenge = challenge; |
|
|
|
|
|
|
|
if (1 === gl.challenges[challenge.type].set.length) { |
|
|
|
gl.challenges[challenge.type].set(copy).then(function (result) { |
|
|
|
done(null, result); |
|
|
|
}).catch(done); |
|
|
|
} else if (2 === gl.challenges[challenge.type].set.length) { |
|
|
|
gl.challenges[challenge.type].set(copy, done); |
|
|
|
} else { |
|
|
|
Object.keys(challenge).forEach(function (key) { |
|
|
|
done[key] = challenge[key]; |
|
|
|
}); |
|
|
|
gl.challenges[challenge.type].set(copy, challenge.altname, challenge.token, challenge.keyAuthorization, done); |
|
|
|
} |
|
|
|
}; |
|
|
|
certReq.removeChallenge = function (domain, key, done) { |
|
|
|
log(args.debug, "removeChallenge called for '" + domain + "'"); |
|
|
|
var copy = utils.merge({ domains: [domain] }, gl); |
|
|
|
certReq.removeChallenge = function (challenge, done) { |
|
|
|
log(args.debug, "removeChallenge called for '" + challenge.altname + "'"); |
|
|
|
var copy = utils.merge({ domains: [challenge.altname] }, gl); |
|
|
|
utils.tplCopy(copy); |
|
|
|
|
|
|
|
gl.challenges[args.challengeType].remove(copy, domain, key, done); |
|
|
|
copy.challenge = challenge; |
|
|
|
|
|
|
|
if (1 === gl.challenges[challenge.type].remove.length) { |
|
|
|
gl.challenges[challenge.type].remove(copy).then(function (result) { |
|
|
|
done(null, result); |
|
|
|
}).catch(done); |
|
|
|
} else if (2 === gl.challenges[challenge.type].remove.length) { |
|
|
|
gl.challenges[challenge.type].remove(copy, done); |
|
|
|
} else { |
|
|
|
Object.keys(challenge).forEach(function (key) { |
|
|
|
done[key] = challenge[key]; |
|
|
|
}); |
|
|
|
gl.challenges[challenge.type].remove(copy, challenge.altname, challenge.keyAuthorization, done); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
log(args.debug, 'calling greenlock.acme.getCertificateAsync', certReq.subject, certReq.domains); |
|
|
|