UNPKG

2.08 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.generateSelfSignedData = void 0;
4var tslib_1 = require("tslib");
5var crypto = require("crypto");
6var selfsigned = require("selfsigned");
7var uuid_1 = require("uuid");
8function generateSelfSignedData() {
9 return tslib_1.__awaiter(this, void 0, void 0, function () {
10 return tslib_1.__generator(this, function (_a) {
11 return [2, new Promise(function (resolve, reject) {
12 var opts = {
13 algorithm: "sha256",
14 days: 30,
15 extensions: [{
16 altNames: [{
17 type: 2,
18 value: "localhost",
19 }],
20 name: "subjectAltName",
21 }],
22 };
23 var rand = uuid_1.v4();
24 var attributes = [{ name: "commonName", value: "R2 insecure server " + rand }];
25 selfsigned.generate(attributes, opts, function (err, keys) {
26 if (err) {
27 reject(err);
28 return;
29 }
30 var password = uuid_1.v4();
31 var salt = crypto.randomBytes(16).toString("hex");
32 var hash = crypto.pbkdf2Sync(password, salt, 1000, 32, "sha256").toString("hex");
33 keys.trustKey = Buffer.from(hash, "hex");
34 keys.trustCheck = uuid_1.v4();
35 var AES_BLOCK_SIZE = 16;
36 var ivBuff = Buffer.from(uuid_1.v4());
37 var iv = ivBuff.slice(0, AES_BLOCK_SIZE);
38 keys.trustCheckIV = iv;
39 resolve(keys);
40 });
41 })];
42 });
43 });
44}
45exports.generateSelfSignedData = generateSelfSignedData;
46//# sourceMappingURL=self-signed.js.map
\No newline at end of file