completed(?) example

This commit is contained in:
AJ ONeal 2015-12-16 02:28:09 +00:00
parent 6b7e140d68
commit 40cc0bd8a5
1 changed files with 71 additions and 39 deletions

View File

@ -2,27 +2,57 @@
var LeCore = require('letiny-core'); var LeCore = require('letiny-core');
var email = process.argv[2] || 'user@example.com'; // CHANGE THIS var email = process.argv[2] || 'user@example.com'; // CHANGE TO YOUR EMAIL
var domains = [process.argv[3] || 'example.com']; // CHANGE THIS var domains = [process.argv[3] || 'example.com']; // CHANGE TO YOUR DOMAIN
var acmeDiscoveryUrl = LeCore.stagingServerUrl;
var accountPrivateKeyPem = '...'; // leCrypto.generateRsaKeypair(bitLen, exp, cb)
var domainPrivateKeyPem = '...'; // (same)
var challengeStore = require('./challenge-store'); var challengeStore = require('./challenge-store');
var certStore = require('cert-store'); var certStore = require('cert-store');
var serve = require('./serve'); var serve = require('./serve');
LeCore.getAcmeUrls( var accountPrivateKeyPem = null;
LeCore.stagingServerUrl // or choose LeCore.productionServerUrl var domainPrivateKeyPem = null;
, function (err, urls) { var acmeUrls = null;
console.log('Using server', acmeDiscoveryUrl);
console.log('Creating account for', email, 'and registering certificates for', domains, 'to that account');
init();
function init() {
getPrivateKeys(function () {
LeCore.getAcmeUrls(acmeDiscoveryUrl, function (urls) {
// in production choose LeCore.productionServerUrl
acmeUrls = urls;
runDemo();
});
});
}
function getPrivateKeys() {
LeCore.leCrypto.generateRsaKeypair(2048, 65537, function (pems) {
accountPrivateKeyPem = pems.privateKeyPem;
LeCore.leCrypto.generateRsaKeypair(2048, 65537, function (pems) {
domainPrivateKeyPem = pems.privateKeyPem;
});
});
}
function runDemo() {
LeCore.registerNewAccount( LeCore.registerNewAccount(
{ newRegUrl: urls.newReg { newRegUrl: acmeUrls.newReg
, email: email , email: email
, accountPrivateKeyPem: accountPrivateKeyPem , accountPrivateKeyPem: accountPrivateKeyPem
, agreeToTerms: function (tosUrl, done) { , agreeToTerms: function (tosUrl, done) {
// agree to these exact terms
// agree to these exact terms
console.log('[tosUrl]'); console.log('[tosUrl]');
console.log(tosUrl); console.log(tosUrl);
done(null, tosUrl); done(null, tosUrl);
@ -45,16 +75,18 @@ LeCore.getAcmeUrls(
, function (err, certs) { , function (err, certs) {
// Note: you should save certs to disk (or db) // Note: you should save certs to disk (or db)
certStore certStore.set(domains[0], certs, function () {
console.log('[certs]');
console.log(certs);
});
} }
); );
} }
); );
} }
);
// //
// Setup the Server // Setup the Server