@lindorm/okp 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 okp package ([8ecd15f](https://github.com/lindorm-io/monorepo/commit/8ecd15f0079ea9cd830d1d006ea2fb0433a264e2))
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @lindorm/okp
@@ -0,0 +1,10 @@
1
+ import { OkpKitOptions } from "../types";
2
+ export declare class OkpKit {
3
+ private readonly format;
4
+ private readonly kryptos;
5
+ constructor(options: OkpKitOptions);
6
+ sign(data: string): string;
7
+ verify(data: string, signature: string): boolean;
8
+ assert(data: string, signature: string): void;
9
+ }
10
+ //# sourceMappingURL=OkpKit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OkpKit.d.ts","sourceRoot":"","sources":["../../src/classes/OkpKit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAO7D,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEf,OAAO,EAAE,aAAa;IAKlC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAShD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAQrD"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OkpKit = void 0;
4
+ const okp_signature_1 = require("../utils/private/okp-signature");
5
+ class OkpKit {
6
+ format;
7
+ kryptos;
8
+ constructor(options) {
9
+ this.format = options.format;
10
+ this.kryptos = options.kryptos;
11
+ }
12
+ sign(data) {
13
+ return (0, okp_signature_1._createOkpSignature)({
14
+ data,
15
+ format: this.format,
16
+ kryptos: this.kryptos,
17
+ });
18
+ }
19
+ verify(data, signature) {
20
+ return (0, okp_signature_1._verifyOkpSignature)({
21
+ data,
22
+ format: this.format,
23
+ kryptos: this.kryptos,
24
+ signature,
25
+ });
26
+ }
27
+ assert(data, signature) {
28
+ return (0, okp_signature_1._assertOkpSignature)({
29
+ data,
30
+ format: this.format,
31
+ kryptos: this.kryptos,
32
+ signature,
33
+ });
34
+ }
35
+ }
36
+ exports.OkpKit = OkpKit;
37
+ //# sourceMappingURL=OkpKit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OkpKit.js","sourceRoot":"","sources":["../../src/classes/OkpKit.ts"],"names":[],"mappings":";;;AAEA,kEAIwC;AAExC,MAAa,MAAM;IACA,MAAM,CAAiC;IACvC,OAAO,CAAU;IAElC,YAAmB,OAAsB;QACvC,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,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,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,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF;AAlCD,wBAkCC"}
@@ -0,0 +1,2 @@
1
+ export * from "./OkpKit";
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("./OkpKit"), 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 OkpError extends LindormError {
3
+ }
4
+ //# sourceMappingURL=OkpError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OkpError.d.ts","sourceRoot":"","sources":["../../src/errors/OkpError.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.OkpError = void 0;
4
+ const errors_1 = require("@lindorm/errors");
5
+ class OkpError extends errors_1.LindormError {
6
+ }
7
+ exports.OkpError = OkpError;
8
+ //# sourceMappingURL=OkpError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OkpError.js","sourceRoot":"","sources":["../../src/errors/OkpError.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAE/C,MAAa,QAAS,SAAQ,qBAAY;CAAG;AAA7C,4BAA6C"}
@@ -0,0 +1,2 @@
1
+ export * from "./OkpError";
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("./OkpError"), 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 "./okp-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("./okp-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,18 @@
1
+ import { Kryptos } from "@lindorm/kryptos";
2
+ export type OkpSignatureFormat = "base64" | "base64url" | "hex";
3
+ export type CreateOkpSignatureOptions = {
4
+ data: string;
5
+ format?: OkpSignatureFormat;
6
+ kryptos: Kryptos;
7
+ };
8
+ export type VerifyOkpSignatureOptions = {
9
+ data: string;
10
+ format?: OkpSignatureFormat;
11
+ signature: string;
12
+ kryptos: Kryptos;
13
+ };
14
+ export type OkpKitOptions = {
15
+ format?: OkpSignatureFormat;
16
+ kryptos: Kryptos;
17
+ };
18
+ //# sourceMappingURL=okp-kit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okp-kit.d.ts","sourceRoot":"","sources":["../../src/types/okp-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;AAEhE,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,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=okp-kit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okp-kit.js","sourceRoot":"","sources":["../../src/types/okp-kit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { CreateOkpSignatureOptions, VerifyOkpSignatureOptions } from "../../types/okp-kit";
2
+ export declare const _createOkpSignature: ({ data, format, kryptos, }: CreateOkpSignatureOptions) => string;
3
+ export declare const _verifyOkpSignature: ({ data, format, kryptos, signature, }: VerifyOkpSignatureOptions) => boolean;
4
+ export declare const _assertOkpSignature: ({ data, format, kryptos, signature, }: VerifyOkpSignatureOptions) => void;
5
+ //# sourceMappingURL=okp-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okp-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/okp-signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,eAAO,MAAM,mBAAmB,+BAI7B,yBAAyB,KAAG,MAY9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,0CAK7B,yBAAyB,KAAG,OAY9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,0CAK7B,yBAAyB,KAAG,IAG9B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._assertOkpSignature = exports._verifyOkpSignature = exports._createOkpSignature = void 0;
4
+ const kryptos_1 = require("@lindorm/kryptos");
5
+ const crypto_1 = require("crypto");
6
+ const errors_1 = require("../../errors");
7
+ const _createOkpSignature = ({ data, format = "base64", kryptos, }) => {
8
+ if (!kryptos_1.Kryptos.isOkp(kryptos)) {
9
+ throw new errors_1.OkpError("Invalid kryptos type");
10
+ }
11
+ const { privateKey } = kryptos.export("pem");
12
+ if (!privateKey) {
13
+ throw new errors_1.OkpError("Missing private key");
14
+ }
15
+ return (0, crypto_1.sign)(undefined, Buffer.from(data, "utf8"), privateKey).toString(format);
16
+ };
17
+ exports._createOkpSignature = _createOkpSignature;
18
+ const _verifyOkpSignature = ({ data, format = "base64", kryptos, signature, }) => {
19
+ if (!kryptos_1.Kryptos.isOkp(kryptos)) {
20
+ throw new errors_1.OkpError("Invalid kryptos type");
21
+ }
22
+ const { publicKey } = kryptos.export("pem");
23
+ if (!publicKey) {
24
+ throw new errors_1.OkpError("Missing private key");
25
+ }
26
+ return (0, crypto_1.verify)(undefined, Buffer.from(data, "utf8"), publicKey, Buffer.from(signature, format));
27
+ };
28
+ exports._verifyOkpSignature = _verifyOkpSignature;
29
+ const _assertOkpSignature = ({ data, format, kryptos, signature, }) => {
30
+ if ((0, exports._verifyOkpSignature)({ data, format, kryptos, signature }))
31
+ return;
32
+ throw new errors_1.OkpError("Invalid signature");
33
+ };
34
+ exports._assertOkpSignature = _assertOkpSignature;
35
+ //# sourceMappingURL=okp-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okp-signature.js","sourceRoot":"","sources":["../../../src/utils/private/okp-signature.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAC3C,mCAAsC;AACtC,yCAAwC;AAGjC,MAAM,mBAAmB,GAAG,CAAC,EAClC,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,aAAI,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjF,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,IAAI,EACJ,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,SAAS,GACiB,EAAW,EAAE;IACvC,IAAI,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAA,eAAM,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,GACiB,EAAQ,EAAE;IACpC,IAAI,IAAA,2BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAE,OAAO;IACtE,MAAM,IAAI,iBAAQ,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@lindorm/okp",
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/okp"
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
+ }