mirror of
				https://git.coolaj86.com/coolaj86/greenlock-cli.js
				synced 2025-11-04 02:52:48 +00:00 
			
		
		
		
	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;
 | 
			
		||||
  } else if (args.tlsSni01Port) {
 | 
			
		||||
    challengeType = 'tls-sni-01';
 | 
			
		||||
    args.webrootPath = '';
 | 
			
		||||
  } else /*if (args.http01Port)*/ {
 | 
			
		||||
    challengeType = 'http-01';
 | 
			
		||||
  }
 | 
			
		||||
@ -27,12 +28,13 @@ module.exports.run = function (args) {
 | 
			
		||||
    // TODO rename le-challenge-fs to le-challenge-webroot
 | 
			
		||||
    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) {
 | 
			
		||||
    leChallenge = require('le-challenge-standalone').create({});
 | 
			
		||||
    servers = require('./lib/servers').create(leChallenge).startServers(
 | 
			
		||||
      args.http01Port || [80], args.tlsSni01Port || [443, 5001]
 | 
			
		||||
    , { debug: args.debug }
 | 
			
		||||
    );
 | 
			
		||||
    servers = require('./lib/servers').create(leChallenge);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
  var leChallenges = {};
 | 
			
		||||
  leChallenges[challengeType] = leChallenge;
 | 
			
		||||
  var le = LE.create({
 | 
			
		||||
    debug: args.debug
 | 
			
		||||
  , server: args.server
 | 
			
		||||
  , store: leStore
 | 
			
		||||
  , challenges: { 'http-01': leChallenge, 'tls-sni-01': leChallenge }
 | 
			
		||||
  , challenges: leChallenges
 | 
			
		||||
  , 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
 | 
			
		||||
  le.register({
 | 
			
		||||
    domains: args.domains
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ module.exports.create = function (challenge) {
 | 
			
		||||
  , startServers: function (plainPorts, tlsPorts, opts) {
 | 
			
		||||
      opts = opts || {};
 | 
			
		||||
 | 
			
		||||
      var httpsOptions = require('localhost.daplie.com-certificates');
 | 
			
		||||
      var httpsOptions = opts.httpsOptions || require('localhost.daplie.com-certificates');
 | 
			
		||||
      var https = require('https');
 | 
			
		||||
      var http = require('http');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -37,6 +37,7 @@
 | 
			
		||||
    "homedir": "^0.6.0",
 | 
			
		||||
    "le-acme-core": "^2.0.5",
 | 
			
		||||
    "le-challenge-manual": "^2.0.0",
 | 
			
		||||
    "le-challenge-sni": "^2.0.0",
 | 
			
		||||
    "le-challenge-standalone": "^2.0.0",
 | 
			
		||||
    "le-store-certbot": "^2.0.2",
 | 
			
		||||
    "letsencrypt": "^2.1.2",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user