forked from root/acme.js
		
	remove v2 before awkward merging of v3
This commit is contained in:
		
							parent
							
								
									9139d89143
								
							
						
					
					
						commit
						d7b3e2e1db
					
				
							
								
								
									
										131
									
								
								examples/cli.js
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								examples/cli.js
									
									
									
									
									
								
							@ -1,131 +0,0 @@
 | 
			
		||||
// Copyright 2018 AJ ONeal. All rights reserved
 | 
			
		||||
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
			
		||||
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
			
		||||
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var RSA = require('rsa-compat').RSA;
 | 
			
		||||
var readline = require('readline');
 | 
			
		||||
var rl = readline.createInterface({
 | 
			
		||||
	input: process.stdin,
 | 
			
		||||
	output: process.stdout
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
require('./genkeypair.js');
 | 
			
		||||
 | 
			
		||||
function getWeb() {
 | 
			
		||||
	rl.question(
 | 
			
		||||
		'What web address(es) would you like to get certificates for? (ex: example.com,*.example.com) ',
 | 
			
		||||
		function(web) {
 | 
			
		||||
			web = (web || '').trim().split(/,/g);
 | 
			
		||||
			if (!web[0]) {
 | 
			
		||||
				getWeb();
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (
 | 
			
		||||
				web.some(function(w) {
 | 
			
		||||
					return '*' === w[0];
 | 
			
		||||
				})
 | 
			
		||||
			) {
 | 
			
		||||
				console.log('Wildcard domains must use dns-01');
 | 
			
		||||
				getEmail(web, 'dns-01');
 | 
			
		||||
			} else {
 | 
			
		||||
				getChallengeType(web);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getChallengeType(web) {
 | 
			
		||||
	rl.question(
 | 
			
		||||
		'What challenge will you be testing today? http-01 or dns-01? [http-01] ',
 | 
			
		||||
		function(chType) {
 | 
			
		||||
			chType = (chType || '').trim();
 | 
			
		||||
			if (!chType) {
 | 
			
		||||
				chType = 'http-01';
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			getEmail(web, chType);
 | 
			
		||||
		}
 | 
			
		||||
	);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getEmail(web, chType) {
 | 
			
		||||
	rl.question('What email should we use? (optional) ', function(email) {
 | 
			
		||||
		email = (email || '').trim();
 | 
			
		||||
		if (!email) {
 | 
			
		||||
			email = null;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		getApiStyle(web, chType, email);
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getApiStyle(web, chType, email) {
 | 
			
		||||
	var defaultStyle = 'compat';
 | 
			
		||||
	rl.question(
 | 
			
		||||
		'What API style would you like to test? v1-compat or promise? [v1-compat] ',
 | 
			
		||||
		function(apiStyle) {
 | 
			
		||||
			apiStyle = (apiStyle || '').trim();
 | 
			
		||||
			if (!apiStyle) {
 | 
			
		||||
				apiStyle = 'v1-compat';
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			rl.close();
 | 
			
		||||
 | 
			
		||||
			var RSA = require('rsa-compat').RSA;
 | 
			
		||||
			var accountKeypair = RSA.import({
 | 
			
		||||
				privateKeyPem: require('fs').readFileSync(
 | 
			
		||||
					__dirname + '/../tests/account.privkey.pem'
 | 
			
		||||
				)
 | 
			
		||||
			});
 | 
			
		||||
			var domainKeypair = RSA.import({
 | 
			
		||||
				privateKeyPem: require('fs').readFileSync(
 | 
			
		||||
					__dirname + '/../tests/privkey.pem'
 | 
			
		||||
				)
 | 
			
		||||
			});
 | 
			
		||||
			var directoryUrl =
 | 
			
		||||
				'https://acme-staging-v02.api.letsencrypt.org/directory';
 | 
			
		||||
 | 
			
		||||
			if ('promise' === apiStyle) {
 | 
			
		||||
				require('../tests/promise.js').run(
 | 
			
		||||
					directoryUrl,
 | 
			
		||||
					RSA,
 | 
			
		||||
					web,
 | 
			
		||||
					chType,
 | 
			
		||||
					email,
 | 
			
		||||
					accountKeypair,
 | 
			
		||||
					domainKeypair
 | 
			
		||||
				);
 | 
			
		||||
			} else if ('cb' === apiStyle) {
 | 
			
		||||
				require('../tests/cb.js').run(
 | 
			
		||||
					directoryUrl,
 | 
			
		||||
					RSA,
 | 
			
		||||
					web,
 | 
			
		||||
					chType,
 | 
			
		||||
					email,
 | 
			
		||||
					accountKeypair,
 | 
			
		||||
					domainKeypair
 | 
			
		||||
				);
 | 
			
		||||
			} else {
 | 
			
		||||
				if ('v1-compat' !== apiStyle) {
 | 
			
		||||
					console.warn(
 | 
			
		||||
						"Didn't understand '" + apiStyle + "', using 'v1-compat' instead..."
 | 
			
		||||
					);
 | 
			
		||||
				}
 | 
			
		||||
				require('../tests/compat.js').run(
 | 
			
		||||
					directoryUrl,
 | 
			
		||||
					RSA,
 | 
			
		||||
					web,
 | 
			
		||||
					chType,
 | 
			
		||||
					email,
 | 
			
		||||
					accountKeypair,
 | 
			
		||||
					domainKeypair
 | 
			
		||||
				);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
getWeb();
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user