completed(?) example
This commit is contained in:
		
							parent
							
								
									6b7e140d68
								
							
						
					
					
						commit
						40cc0bd8a5
					
				@ -2,59 +2,91 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
          console.log('[tosUrl]');
 | 
					              // agree to these exact terms
 | 
				
			||||||
          console.log(tosUrl);
 | 
					              console.log('[tosUrl]');
 | 
				
			||||||
          done(null, tosUrl);
 | 
					              console.log(tosUrl);
 | 
				
			||||||
 | 
					              done(null, tosUrl);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      , function (err, regr) {
 | 
				
			||||||
    , function (err, regr) {
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Note: you should save the registration
 | 
					            // Note: you should save the registration
 | 
				
			||||||
        // record to disk (or db)
 | 
					            // record to disk (or db)
 | 
				
			||||||
        console.log('[regr]');
 | 
					            console.log('[regr]');
 | 
				
			||||||
        console.log(regr);
 | 
					            console.log(regr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        LeCore.getCertificate(
 | 
					            LeCore.getCertificate(
 | 
				
			||||||
          { domainPrivateKeyPem: domainPrivateKeyPem
 | 
					                { domainPrivateKeyPem: domainPrivateKeyPem
 | 
				
			||||||
          , accountPrivateKeyPem: accountPrivateKeyPem
 | 
					                , accountPrivateKeyPem: accountPrivateKeyPem
 | 
				
			||||||
          , setChallenge: challengeStore.set
 | 
					                , setChallenge: challengeStore.set
 | 
				
			||||||
          , removeChallenge: challengeStore.remove
 | 
					                , removeChallenge: challengeStore.remove
 | 
				
			||||||
          , domains: domains
 | 
					                , domains: domains
 | 
				
			||||||
          }
 | 
					                }
 | 
				
			||||||
        , 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
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user