support tls-sni-01 challenge
Previously the http-01 challenge was simply served over SSL.
This commit is contained in:
		
							parent
							
								
									7d3702aa81
								
							
						
					
					
						commit
						0e7c748fb1
					
				
							
								
								
									
										29
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								index.js
									
									
									
									
									
								
							| @ -15,6 +15,7 @@ module.exports.run = function (args) { | |||||||
|     args.standalone = USE_DNS; |     args.standalone = USE_DNS; | ||||||
|   } else if (args.tlsSni01Port) { |   } else if (args.tlsSni01Port) { | ||||||
|     challengeType = 'tls-sni-01'; |     challengeType = 'tls-sni-01'; | ||||||
|  |     args.webrootPath = ''; | ||||||
|   } else /*if (args.http01Port)*/ { |   } else /*if (args.http01Port)*/ { | ||||||
|     challengeType = 'http-01'; |     challengeType = 'http-01'; | ||||||
|   } |   } | ||||||
| @ -27,12 +28,13 @@ module.exports.run = function (args) { | |||||||
|     // TODO rename le-challenge-fs to le-challenge-webroot
 |     // TODO rename le-challenge-fs to le-challenge-webroot
 | ||||||
|     leChallenge = require('./lib/webroot').create({ webrootPath: args.webrootPath }); |     leChallenge = require('./lib/webroot').create({ webrootPath: args.webrootPath }); | ||||||
|   } |   } | ||||||
|  |   else if (args.tlsSni01Port) { | ||||||
|  |     leChallenge = require('le-challenge-sni').create({}); | ||||||
|  |     servers = require('./lib/servers').create(leChallenge); | ||||||
|  |   } | ||||||
|   else if (USE_DNS !== args.standalone) { |   else if (USE_DNS !== args.standalone) { | ||||||
|     leChallenge = require('le-challenge-standalone').create({}); |     leChallenge = require('le-challenge-standalone').create({}); | ||||||
|     servers = require('./lib/servers').create(leChallenge).startServers( |     servers = require('./lib/servers').create(leChallenge); | ||||||
|       args.http01Port || [80], args.tlsSni01Port || [443, 5001] |  | ||||||
|     , { debug: args.debug } |  | ||||||
|     ); |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   leStore = require('le-store-certbot').create({ |   leStore = require('le-store-certbot').create({ | ||||||
| @ -51,14 +53,31 @@ module.exports.run = function (args) { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // let LE know that we're handling standalone / webroot here
 |   // let LE know that we're handling standalone / webroot here
 | ||||||
|  |   var leChallenges = {}; | ||||||
|  |   leChallenges[challengeType] = leChallenge; | ||||||
|   var le = LE.create({ |   var le = LE.create({ | ||||||
|     debug: args.debug |     debug: args.debug | ||||||
|   , server: args.server |   , server: args.server | ||||||
|   , store: leStore |   , store: leStore | ||||||
|   , challenges: { 'http-01': leChallenge, 'tls-sni-01': leChallenge } |   , challenges: leChallenges | ||||||
|   , duplicate: args.duplicate |   , duplicate: args.duplicate | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  |   if (servers) { | ||||||
|  |     if (args.tlsSni01Port) { | ||||||
|  |       servers = servers.startServers( | ||||||
|  |         [], args.tlsSni01Port | ||||||
|  |       , { debug: args.debug, httpsOptions: le.httpsOptions } | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |       servers = servers.startServers( | ||||||
|  |         args.http01Port || [80], [] | ||||||
|  |       , { debug: args.debug } | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   // Note: can't use args directly as null values will overwrite template values
 |   // Note: can't use args directly as null values will overwrite template values
 | ||||||
|   le.register({ |   le.register({ | ||||||
|     domains: args.domains |     domains: args.domains | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ module.exports.create = function (challenge) { | |||||||
|   , startServers: function (plainPorts, tlsPorts, opts) { |   , startServers: function (plainPorts, tlsPorts, opts) { | ||||||
|       opts = opts || {}; |       opts = opts || {}; | ||||||
| 
 | 
 | ||||||
|       var httpsOptions = require('localhost.daplie.com-certificates'); |       var httpsOptions = opts.httpsOptions || require('localhost.daplie.com-certificates'); | ||||||
|       var https = require('https'); |       var https = require('https'); | ||||||
|       var http = require('http'); |       var http = require('http'); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -37,6 +37,7 @@ | |||||||
|     "homedir": "^0.6.0", |     "homedir": "^0.6.0", | ||||||
|     "le-acme-core": "^2.0.5", |     "le-acme-core": "^2.0.5", | ||||||
|     "le-challenge-manual": "^2.0.0", |     "le-challenge-manual": "^2.0.0", | ||||||
|  |     "le-challenge-sni": "^2.0.0", | ||||||
|     "le-challenge-standalone": "^2.0.0", |     "le-challenge-standalone": "^2.0.0", | ||||||
|     "le-store-certbot": "^2.0.2", |     "le-store-certbot": "^2.0.2", | ||||||
|     "letsencrypt": "^2.1.2", |     "letsencrypt": "^2.1.2", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user