@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.
@@ -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;IAkCvB,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"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,uCAAyB;AAOzB,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,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;AAhFD,0CAgFC"}
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,5 +1,6 @@
1
1
  export declare class ValidatorService {
2
2
  challenge(certificate: string, privateKey?: string | undefined): boolean;
3
+ private sanatize;
3
4
  }
4
5
  declare const _default: ValidatorService;
5
6
  export default _default;
@@ -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;CAoBlF;;AAED,wBAAsC"}
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 = certificate.replace(/\\n/gm, '\n');
31
- const privateKeyStr = privateKey != undefined ? privateKey.replace(/\\n/gm, '\n') : process.env.PRIVATE_KEY.replace(/\\n/gm, '\n');
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,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,aAAa,GAAW,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE3I,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;CAEF;AA3BD,4CA2BC;AAED,kBAAe,IAAI,gBAAgB,EAAE,CAAC"}
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",
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": "^20.10.0",
15
- "eslint": "^8.54.0",
14
+ "@types/node": "^22.5.0",
15
+ "eslint": "^9.9.1",
16
16
  "jest": "^29.7.0",
17
- "rimraf": "^5.0.5",
18
- "ts-jest": "^29.1.1",
19
- "typescript": "^5.3.2"
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",