forked from root/acme.js
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
'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);
|
|
});
|
|
});
|
|
});
|