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