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); | ||
|  |     }); | ||
|  |   }); | ||
|  | }); |