1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.generateSelfSignedData = void 0;
|
4 | var tslib_1 = require("tslib");
|
5 | var crypto = require("crypto");
|
6 | var selfsigned = require("selfsigned");
|
7 | var uuid_1 = require("uuid");
|
8 | function 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 | }
|
45 | exports.generateSelfSignedData = generateSelfSignedData;
|
46 |
|
\ | No newline at end of file |