UNPKG

3.94 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const fs_1 = require("fs");
4const child_process_1 = require("child_process");
5const createDebug = require("debug");
6const path = require("path");
7const constants_1 = require("./constants");
8const debug = createDebug('devcert');
9function openssl(cmd) {
10 return run(`openssl ${cmd}`, {
11 stdio: 'ignore',
12 env: Object.assign({
13 RANDFILE: path.join(constants_1.configPath('.rnd'))
14 }, process.env)
15 });
16}
17exports.openssl = openssl;
18function run(cmd, options = {}) {
19 debug(`exec: \`${cmd}\``);
20 return child_process_1.execSync(cmd, options);
21}
22exports.run = run;
23function waitForUser() {
24 return new Promise((resolve) => {
25 process.stdin.resume();
26 process.stdin.on('data', resolve);
27 });
28}
29exports.waitForUser = waitForUser;
30// Generate a cryptographic key, used to sign certificates or certificate signing requests.
31function generateKey(filename) {
32 debug(`generateKey: ${filename}`);
33 openssl(`genrsa -out ${filename} 2048`);
34 fs_1.chmodSync(filename, 400);
35}
36exports.generateKey = generateKey;
37//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2phc29ubWlsbGVyL1Byb2plY3RzL2l0YWx5L2RldmNlcnQvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJCQUErQjtBQUMvQixpREFBZ0U7QUFDaEUscUNBQXFDO0FBQ3JDLDZCQUE2QjtBQUU3QiwyQ0FFcUI7QUFFckIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXJDLGlCQUF3QixHQUFXO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBWSxHQUFJLEVBQUUsRUFBRTtRQUM3QixLQUFLLEVBQUUsUUFBUTtRQUNmLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFQRCwwQkFPQztBQUVELGFBQW9CLEdBQVcsRUFBRSxVQUEyQixFQUFFO0lBQzVELEtBQUssQ0FBQyxXQUFZLEdBQUksSUFBSSxDQUFDLENBQUM7SUFDNUIsTUFBTSxDQUFDLHdCQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFIRCxrQkFHQztBQUVEO0lBQ0UsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTztRQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFMRCxrQ0FLQztBQUVELDJGQUEyRjtBQUMzRixxQkFBNEIsUUFBZ0I7SUFDMUMsS0FBSyxDQUFDLGdCQUFpQixRQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sQ0FBQyxlQUFnQixRQUFTLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLGNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUpELGtDQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2htb2RTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgZXhlYywgZXhlY1N5bmMsIEV4ZWNTeW5jT3B0aW9ucyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtcbiAgY29uZmlnUGF0aCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBkZWJ1ZyA9IGNyZWF0ZURlYnVnKCdkZXZjZXJ0Jyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBvcGVuc3NsKGNtZDogc3RyaW5nKSB7XG4gIHJldHVybiBydW4oYG9wZW5zc2wgJHsgY21kIH1gLCB7XG4gICAgc3RkaW86ICdpZ25vcmUnLFxuICAgIGVudjogT2JqZWN0LmFzc2lnbih7XG4gICAgICBSQU5ERklMRTogcGF0aC5qb2luKGNvbmZpZ1BhdGgoJy5ybmQnKSlcbiAgICB9LCBwcm9jZXNzLmVudilcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydW4oY21kOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWNTeW5jT3B0aW9ucyA9IHt9KSB7XG4gIGRlYnVnKGBleGVjOiBcXGAkeyBjbWQgfVxcYGApO1xuICByZXR1cm4gZXhlY1N5bmMoY21kLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JVc2VyKCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuICAgIHByb2Nlc3Muc3RkaW4ub24oJ2RhdGEnLCByZXNvbHZlKTtcbiAgfSk7XG59XG5cbi8vIEdlbmVyYXRlIGEgY3J5cHRvZ3JhcGhpYyBrZXksIHVzZWQgdG8gc2lnbiBjZXJ0aWZpY2F0ZXMgb3IgY2VydGlmaWNhdGUgc2lnbmluZyByZXF1ZXN0cy5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUtleShmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGRlYnVnKGBnZW5lcmF0ZUtleTogJHsgZmlsZW5hbWUgfWApO1xuICBvcGVuc3NsKGBnZW5yc2EgLW91dCAkeyBmaWxlbmFtZSB9IDIwNDhgKTtcbiAgY2htb2RTeW5jKGZpbGVuYW1lLCA0MDApO1xufVxuIl19
\No newline at end of file