forked from root/acme.js
use supplied directoryUrl
This commit is contained in:
parent
92b494f535
commit
e4beb3f04e
15
node.js
15
node.js
|
@ -61,10 +61,10 @@ function create(deps) {
|
|||
var request = deps.promisify(getRequest({}));
|
||||
|
||||
var acme2 = {
|
||||
getAcmeUrls: function () {
|
||||
getAcmeUrls: function (_directoryUrl) {
|
||||
var me = this;
|
||||
return request({ url: directoryUrl }).then(function (resp) {
|
||||
me._directoryUrls = JSON.parse(resp.body);
|
||||
return request({ url: _directoryUrl || directoryUrl, json: true }).then(function (resp) {
|
||||
me._directoryUrls = resp.body;
|
||||
me._tos = me._directoryUrls.meta.termsOfService;
|
||||
return me._directoryUrls;
|
||||
});
|
||||
|
@ -206,14 +206,6 @@ function create(deps) {
|
|||
var keyAuthorization = ch.token + '.' + thumbprint;
|
||||
// keyAuthorization = token || '.' || base64url(JWK_Thumbprint(accountKey))
|
||||
// /.well-known/acme-challenge/:token
|
||||
console.log('type:');
|
||||
console.log(ch.type);
|
||||
console.log('ch.token:');
|
||||
console.log(ch.token);
|
||||
console.log('thumbprint:');
|
||||
console.log(thumbprint);
|
||||
console.log('keyAuthorization:');
|
||||
console.log(keyAuthorization);
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
if (options.setupChallenge) {
|
||||
|
@ -426,7 +418,6 @@ function create(deps) {
|
|||
var location = resp.toJSON().headers.location;
|
||||
console.log(location); // the account id url
|
||||
console.log(resp.toJSON());
|
||||
//var body = JSON.parse(resp.body);
|
||||
me._authorizations = resp.body.authorizations;
|
||||
me._order = location;
|
||||
me._finalize = resp.body.finalize;
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
'use strict';
|
||||
|
||||
var RSA = require('rsa-compat').RSA;
|
||||
var acme2 = require('./').ACME.create({ RSA: RSA });
|
||||
|
||||
acme2.getAcmeUrls(acme2.stagingServerUrl).then(function (body) {
|
||||
console.log(body);
|
||||
|
||||
var options = {
|
||||
agreeToTerms: function (tosUrl, agree) {
|
||||
agree(null, tosUrl);
|
||||
}
|
||||
/*
|
||||
, setupChallenge: function (opts) {
|
||||
console.log('type:');
|
||||
console.log(ch.type);
|
||||
console.log('ch.token:');
|
||||
console.log(ch.token);
|
||||
console.log('thumbprint:');
|
||||
console.log(thumbprint);
|
||||
console.log('keyAuthorization:');
|
||||
console.log(keyAuthorization);
|
||||
console.log('dnsAuthorization:');
|
||||
console.log(dnsAuthorization);
|
||||
}
|
||||
*/
|
||||
// teardownChallenge
|
||||
, setChallenge: function (hostname, key, val, cb) {
|
||||
console.log('[DEBUG] set challenge', hostname, key, val);
|
||||
console.log("You have 20 seconds to put the string '" + val + "' into a file at '" + hostname + "/" + key + "'");
|
||||
setTimeout(cb, 20 * 1000);
|
||||
}
|
||||
, removeChallenge: function (hostname, key, cb) {
|
||||
console.log('[DEBUG] remove challenge', hostname, key);
|
||||
setTimeout(cb, 1 * 1000);
|
||||
}
|
||||
, challengeType: 'http-01'
|
||||
, email: 'coolaj86@gmail.com'
|
||||
, accountKeypair: RSA.import({ privateKeyPem: require('fs').readFileSync(__dirname + '/account.privkey.pem') })
|
||||
, domainKeypair: RSA.import({ privateKeyPem: require('fs').readFileSync(__dirname + '/privkey.pem') })
|
||||
, domains: [ 'test.ppl.family' ]
|
||||
};
|
||||
|
||||
acme2.registerNewAccount(options).then(function (account) {
|
||||
console.log('account:');
|
||||
console.log(account);
|
||||
|
||||
acme2.getCertificate(options, function (fullchainPem) {
|
||||
console.log('[acme-v2] A fullchain.pem:');
|
||||
console.log(fullchainPem);
|
||||
}).then(function (fullchainPem) {
|
||||
console.log('[acme-v2] B fullchain.pem:');
|
||||
console.log(fullchainPem);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue