@lindorm/oct 0.1.0

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/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # 0.1.0 (2024-05-12)
7
+
8
+ ### Features
9
+
10
+ - initialise oct package ([4cf735f](https://github.com/lindorm-io/monorepo/commit/4cf735fa1566cd3a9fedd1ed3f9e8877d9841cfe))
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @lindorm/oct
@@ -0,0 +1,11 @@
1
+ import { OctSignatureKitOptions } from "../types";
2
+ export declare class OctKit {
3
+ private readonly algorithm;
4
+ private readonly format;
5
+ private readonly kryptos;
6
+ constructor(options: OctSignatureKitOptions);
7
+ sign(data: string): string;
8
+ verify(data: string, signature: string): boolean;
9
+ assert(data: string, signature: string): void;
10
+ }
11
+ //# sourceMappingURL=OctKit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OctKit.d.ts","sourceRoot":"","sources":["../../src/classes/OctKit.ts"],"names":[],"mappings":"AACA,OAAO,EAA6C,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAO7F,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEf,OAAO,EAAE,sBAAsB;IAM3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAUhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CASrD"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OctKit = void 0;
4
+ const oct_signature_1 = require("../utils/private/oct-signature");
5
+ class OctKit {
6
+ algorithm;
7
+ format;
8
+ kryptos;
9
+ constructor(options) {
10
+ this.algorithm = options.algorithm;
11
+ this.format = options.format;
12
+ this.kryptos = options.kryptos;
13
+ }
14
+ sign(data) {
15
+ return (0, oct_signature_1._createOctSignature)({
16
+ algorithm: this.algorithm,
17
+ data,
18
+ format: this.format,
19
+ kryptos: this.kryptos,
20
+ });
21
+ }
22
+ verify(data, signature) {
23
+ return (0, oct_signature_1._verifyOctSignature)({
24
+ algorithm: this.algorithm,
25
+ data,
26
+ format: this.format,
27
+ kryptos: this.kryptos,
28
+ signature,
29
+ });
30
+ }
31
+ assert(data, signature) {
32
+ return (0, oct_signature_1._assertOctSignature)({
33
+ algorithm: this.algorithm,
34
+ data,
35
+ format: this.format,
36
+ kryptos: this.kryptos,
37
+ signature,
38
+ });
39
+ }
40
+ }
41
+ exports.OctKit = OctKit;
42
+ //# sourceMappingURL=OctKit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OctKit.js","sourceRoot":"","sources":["../../src/classes/OctKit.ts"],"names":[],"mappings":";;;AAEA,kEAIwC;AAExC,MAAa,MAAM;IACA,SAAS,CAAoC;IAC7C,MAAM,CAAiC;IACvC,OAAO,CAAU;IAElC,YAAmB,OAA+B;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,IAAY;QACtB,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,SAAiB;QAC3C,OAAO,IAAA,mCAAmB,EAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,wBAuCC"}
@@ -0,0 +1,2 @@
1
+ export * from "./OctKit";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./OctKit"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
@@ -0,0 +1,4 @@
1
+ import { LindormError } from "@lindorm/errors";
2
+ export declare class OctError extends LindormError {
3
+ }
4
+ //# sourceMappingURL=OctError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OctError.d.ts","sourceRoot":"","sources":["../../src/errors/OctError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;CAAG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OctError = void 0;
4
+ const errors_1 = require("@lindorm/errors");
5
+ class OctError extends errors_1.LindormError {
6
+ }
7
+ exports.OctError = OctError;
8
+ //# sourceMappingURL=OctError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OctError.js","sourceRoot":"","sources":["../../src/errors/OctError.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAE/C,MAAa,QAAS,SAAQ,qBAAY;CAAG;AAA7C,4BAA6C"}
@@ -0,0 +1,2 @@
1
+ export * from "./OctError";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./OctError"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
@@ -0,0 +1,4 @@
1
+ export * from "./classes";
2
+ export * from "./errors";
3
+ export * from "./types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./classes"), exports);
18
+ __exportStar(require("./errors"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from "./oct-kit";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./oct-kit"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
@@ -0,0 +1,22 @@
1
+ import { Kryptos } from "@lindorm/kryptos";
2
+ export type OctSignatureAlgorithm = "SHA256" | "SHA384" | "SHA512";
3
+ export type OctSignatureFormat = "base64" | "base64url" | "hex";
4
+ export type CreateOctSignatureOptions = {
5
+ algorithm?: OctSignatureAlgorithm;
6
+ data: string;
7
+ format?: OctSignatureFormat;
8
+ kryptos: Kryptos;
9
+ };
10
+ export type VerifyOctSignatureOptions = {
11
+ algorithm?: OctSignatureAlgorithm;
12
+ data: string;
13
+ format?: OctSignatureFormat;
14
+ kryptos: Kryptos;
15
+ signature: string;
16
+ };
17
+ export type OctSignatureKitOptions = {
18
+ algorithm?: OctSignatureAlgorithm;
19
+ format?: OctSignatureFormat;
20
+ kryptos: Kryptos;
21
+ };
22
+ //# sourceMappingURL=oct-kit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oct-kit.d.ts","sourceRoot":"","sources":["../../src/types/oct-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;AAEhE,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oct-kit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oct-kit.js","sourceRoot":"","sources":["../../src/types/oct-kit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { CreateOctSignatureOptions, VerifyOctSignatureOptions } from "../../types";
2
+ export declare const _createOctSignature: ({ algorithm, data, format, kryptos, }: CreateOctSignatureOptions) => string;
3
+ export declare const _verifyOctSignature: ({ algorithm, data, format, kryptos, signature, }: VerifyOctSignatureOptions) => boolean;
4
+ export declare const _assertOctSignature: (options: VerifyOctSignatureOptions) => void;
5
+ //# sourceMappingURL=oct-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oct-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/oct-signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEnF,eAAO,MAAM,mBAAmB,0CAK7B,yBAAyB,KAAG,MAY9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,qDAM7B,yBAAyB,KAAG,OAC0C,CAAC;AAE1E,eAAO,MAAM,mBAAmB,YAAa,yBAAyB,KAAG,IAGxE,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._assertOctSignature = exports._verifyOctSignature = exports._createOctSignature = void 0;
4
+ const kryptos_1 = require("@lindorm/kryptos");
5
+ const crypto_1 = require("crypto");
6
+ const errors_1 = require("../../errors");
7
+ const _createOctSignature = ({ algorithm = "SHA256", data, format = "base64", kryptos, }) => {
8
+ if (!kryptos_1.Kryptos.isOct(kryptos)) {
9
+ throw new errors_1.OctError("Invalid kryptos type");
10
+ }
11
+ const { privateKey } = kryptos.export("pem");
12
+ if (!privateKey) {
13
+ throw new errors_1.OctError("Missing private key");
14
+ }
15
+ return (0, crypto_1.createHmac)(algorithm, privateKey).update(data).digest(format);
16
+ };
17
+ exports._createOctSignature = _createOctSignature;
18
+ const _verifyOctSignature = ({ algorithm = "SHA256", data, format = "base64", kryptos, signature, }) => (0, exports._createOctSignature)({ algorithm, data, format, kryptos }) === signature;
19
+ exports._verifyOctSignature = _verifyOctSignature;
20
+ const _assertOctSignature = (options) => {
21
+ if ((0, exports._verifyOctSignature)(options))
22
+ return;
23
+ throw new errors_1.OctError("OctSignature does not match");
24
+ };
25
+ exports._assertOctSignature = _assertOctSignature;
26
+ //# sourceMappingURL=oct-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oct-signature.js","sourceRoot":"","sources":["../../../src/utils/private/oct-signature.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,mCAAoC;AACpC,yCAAwC;AAGjC,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,GAAG,QAAQ,EACpB,IAAI,EACJ,MAAM,GAAG,QAAQ,EACjB,OAAO,GACmB,EAAU,EAAE;IACtC,IAAI,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAA,mBAAU,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,GAAG,QAAQ,EACpB,IAAI,EACJ,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,SAAS,GACiB,EAAW,EAAE,CACvC,IAAA,2BAAmB,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC;AAP7D,QAAA,mBAAmB,uBAO0C;AAEnE,MAAM,mBAAmB,GAAG,CAAC,OAAkC,EAAQ,EAAE;IAC9E,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC;QAAE,OAAO;IACzC,MAAM,IAAI,iBAAQ,CAAC,6BAA6B,CAAC,CAAC;AACpD,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@lindorm/oct",
3
+ "version": "0.1.0",
4
+ "license": "AGPL-3.0-or-later",
5
+ "author": "Jonn Nilsson",
6
+ "repository": {
7
+ "url": "https://github.com/lindorm-io/monorepo",
8
+ "directory": "packages/oct"
9
+ },
10
+ "bugs": "https://github.com/lindorm-io/monorepo/issues",
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "main": "dist/index.js",
15
+ "typings": "dist/index.d.ts",
16
+ "scripts": {
17
+ "build": "rimraf dist && tsc -b ./tsconfig.build.json",
18
+ "example": "ts-node example",
19
+ "integration": "compd --file docker-compose.yml jest --config jest.config.integration.js --watch --",
20
+ "test:ci": "npm run test:unit",
21
+ "test:integration": "jest --config jest.config.integration.js --",
22
+ "test:unit": "jest --config jest.config.js --",
23
+ "test": "jest --watch --",
24
+ "typecheck:ci": "tsc",
25
+ "typecheck": "tsc --watch",
26
+ "update": "ncu -u"
27
+ },
28
+ "dependencies": {
29
+ "@lindorm/errors": "^0.1.4",
30
+ "@lindorm/kryptos": "^0.2.1"
31
+ },
32
+ "gitHead": "cb57e5e2cc3e7ee6a1db97875e05bebb910a1efe"
33
+ }