@thefirstspine/certificate-authority 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commands/generate.command.d.ts.map +1 -1
- package/lib/commands/generate.command.js +9 -0
- package/lib/commands/generate.command.js.map +1 -1
- package/lib/service/validator.service.d.ts +1 -0
- package/lib/service/validator.service.d.ts.map +1 -1
- package/lib/service/validator.service.js +5 -2
- package/lib/service/validator.service.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.command.d.ts","sourceRoot":"","sources":["../../src/commands/generate.command.ts"],"names":[],"mappings":"AAQA,qBAAa,eAAe;;IAOpB,KAAK,CAAC,IAAI,EAAE,oBAAoB,GAAG,CAAC,oBAAoB,GAAG,yBAAyB,CAAC;YAmB7E,gBAAgB;
|
|
1
|
+
{"version":3,"file":"generate.command.d.ts","sourceRoot":"","sources":["../../src/commands/generate.command.ts"],"names":[],"mappings":"AAQA,qBAAa,eAAe;;IAOpB,KAAK,CAAC,IAAI,EAAE,oBAAoB,GAAG,CAAC,oBAAoB,GAAG,yBAAyB,CAAC;YAmB7E,gBAAgB;IAyCvB,YAAY,IAAI,KAAK;CAoB7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,GAAC,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,GAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -31,10 +31,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
34
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
38
|
exports.GenerateCommand = void 0;
|
|
36
39
|
const crypto = __importStar(require("crypto"));
|
|
37
40
|
const fs = __importStar(require("fs"));
|
|
41
|
+
const validator_service_1 = __importDefault(require("./../service/validator.service"));
|
|
38
42
|
class GenerateCommand {
|
|
39
43
|
constructor() { }
|
|
40
44
|
start(args) {
|
|
@@ -64,6 +68,11 @@ class GenerateCommand {
|
|
|
64
68
|
}
|
|
65
69
|
console.log('Generating pair...');
|
|
66
70
|
const result = this.generatePair();
|
|
71
|
+
console.log('Passing challenge...');
|
|
72
|
+
if (!validator_service_1.default.challenge(result.certificate, result.privateKey)) {
|
|
73
|
+
console.log(`Pair doesn't pass the challenge.`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
67
76
|
fs.writeFileSync(key, result.privateKey);
|
|
68
77
|
console.log(`Generated key in ${key}`);
|
|
69
78
|
fs.writeFileSync(certificate, result.certificate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.command.js","sourceRoot":"","sources":["../../src/commands/generate.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.command.js","sourceRoot":"","sources":["../../src/commands/generate.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,uCAAyB;AACzB,uFAA8D;AAM9D,MAAa,eAAe;IAC1B,gBAAe,CAAC;IAMV,KAAK,CAAC,IAA+E;;YACzF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAGhD,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;KAAA;IAMa,gBAAgB,CAAC,IAA+B;;YAE5D,MAAM,GAAG,GAAqB,IAAI,CAAC,GAAG,CAAC;YACvC,MAAM,WAAW,GAAqB,IAAI,CAAC,WAAW,CAAC;YAGvD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAGD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAGnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,IAAG,CAAC,2BAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAGD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;YAGvD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KAAA;IAMM,YAAY;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,mBAAmB,CACrC,KAAK,EACL;YACE,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,KAAK;aACd;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK;aACd;SACF,CACF,CAAC;QACF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAA;IACH,CAAC;CACF;AAvFD,0CAuFC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.service.d.ts","sourceRoot":"","sources":["../../src/service/validator.service.ts"],"names":[],"mappings":"AAMA,qBAAa,gBAAgB;IAO3B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAC,SAAqB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"validator.service.d.ts","sourceRoot":"","sources":["../../src/service/validator.service.ts"],"names":[],"mappings":"AAMA,qBAAa,gBAAgB;IAO3B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAC,SAAqB,GAAG,OAAO;IAoBjF,OAAO,CAAC,QAAQ;CAIjB;;AAED,wBAAsC"}
|
|
@@ -27,8 +27,8 @@ exports.ValidatorService = void 0;
|
|
|
27
27
|
const crypto = __importStar(require("crypto"));
|
|
28
28
|
class ValidatorService {
|
|
29
29
|
challenge(certificate, privateKey = undefined) {
|
|
30
|
-
const publicKeyStr =
|
|
31
|
-
const privateKeyStr = privateKey != undefined ?
|
|
30
|
+
const publicKeyStr = this.sanatize(certificate);
|
|
31
|
+
const privateKeyStr = privateKey != undefined ? this.sanatize(privateKey) : this.sanatize(process.env.PRIVATE_KEY);
|
|
32
32
|
try {
|
|
33
33
|
const challenge = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(10);
|
|
34
34
|
const encryptedBuffer = crypto.publicEncrypt(publicKeyStr, Buffer.from(challenge));
|
|
@@ -38,6 +38,9 @@ class ValidatorService {
|
|
|
38
38
|
catch (exception) { }
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
41
|
+
sanatize(input) {
|
|
42
|
+
return input.replace(/\\n/gm, '\n');
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
exports.ValidatorService = ValidatorService;
|
|
43
46
|
exports.default = new ValidatorService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.service.js","sourceRoot":"","sources":["../../src/service/validator.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAMjC,MAAa,gBAAgB;IAO3B,SAAS,CAAC,WAAmB,EAAE,aAA+B,SAAS;QAErE,MAAM,YAAY,GAAW,
|
|
1
|
+
{"version":3,"file":"validator.service.js","sourceRoot":"","sources":["../../src/service/validator.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAMjC,MAAa,gBAAgB;IAO3B,SAAS,CAAC,WAAmB,EAAE,aAA+B,SAAS;QAErE,MAAM,YAAY,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,aAAa,GAAW,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE3H,IAAI,CAAC;YAEH,MAAM,SAAS,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAG3F,MAAM,eAAe,GAAW,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,MAAM,eAAe,GAAW,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAGtF,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;QAClD,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC,CAAA,CAAC;QAEtB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;CAEF;AA/BD,4CA+BC;AAED,kBAAe,IAAI,gBAAgB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thefirstspine/certificate-authority",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Self-signed certificate authority to automate & check secure layer for protected endpoints.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"minimist": "^1.2.8"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@types/node": "^
|
|
15
|
-
"eslint": "^
|
|
14
|
+
"@types/node": "^22.5.0",
|
|
15
|
+
"eslint": "^9.9.1",
|
|
16
16
|
"jest": "^29.7.0",
|
|
17
|
-
"rimraf": "^
|
|
18
|
-
"ts-jest": "^29.
|
|
19
|
-
"typescript": "^5.
|
|
17
|
+
"rimraf": "^6.0.1",
|
|
18
|
+
"ts-jest": "^29.2.5",
|
|
19
|
+
"typescript": "^5.5.4"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "rimraf ./lib && tsc -b",
|