saro-dat 3.2.0 → 3.2.1

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/dist/index.d.ts CHANGED
@@ -7,6 +7,6 @@ export * as DatUint8Array from "./util/DatUint8Array.js";
7
7
  export * from "./crypto.js";
8
8
  export * from "./signature.js";
9
9
  export * from "./dat.js";
10
- export * from "./dat.certificate";
11
- export * from "./dat.manager";
10
+ export * from "./dat.certificate.js";
11
+ export * from "./dat.manager.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,6 @@ export * as DatUint8Array from "./util/DatUint8Array.js";
7
7
  export * from "./crypto.js";
8
8
  export * from "./signature.js";
9
9
  export * from "./dat.js";
10
- export * from "./dat.certificate";
11
- export * from "./dat.manager";
10
+ export * from "./dat.certificate.js";
11
+ export * from "./dat.manager.js";
12
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "saro-dat",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Distributed Access Token",
5
5
  "keywords": [
6
6
  "dat",
7
7
  "distributed",
8
8
  "access",
9
9
  "token",
10
- "jwt"
10
+ "web",
11
+ "session"
11
12
  ],
12
13
  "author": "marker",
13
14
  "license": "MIT",
@@ -1,12 +0,0 @@
1
- import { Dat, DatKey, DatPayload, DatSignatureKeyOutOption } from "./index.js";
2
- export declare class DatBank {
3
- private readonly issueKey;
4
- private readonly verifyKeys;
5
- constructor(issueKey?: DatKey | null, verifyKeys?: DatKey[]);
6
- static imports(format: string): Promise<DatBank>;
7
- exports(datSignatureKeyOutOption: DatSignatureKeyOutOption): Promise<string>;
8
- find(kid: string): DatKey | null;
9
- toDat(plain: ArrayBufferLike | Uint8Array | string | null | undefined, secure: ArrayBufferLike | Uint8Array | string | null | undefined): Promise<string>;
10
- toPayload(dat: Dat | string | undefined | null): Promise<DatPayload>;
11
- }
12
- //# sourceMappingURL=dat.bank.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.bank.d.ts","sourceRoot":"","sources":["../src/dat.bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAG,MAAM,YAAY,CAAC;AAE/E,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;gBAE1B,QAAQ,GAAE,MAAM,GAAG,IAAW,EAAE,UAAU,GAAE,MAAM,EAAO;WAKxD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BhD,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI1B,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzI,SAAS,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;CAUvE"}
package/dist/dat.bank.js DELETED
@@ -1,68 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Dat, DatKey, } from "./index.js";
11
- export class DatBank {
12
- constructor(issueKey = null, verifyKeys = []) {
13
- this.issueKey = issueKey;
14
- this.verifyKeys = verifyKeys;
15
- }
16
- static imports(format) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const lines = format.split('\n').map(e => e.trim()).filter(e => !!e);
19
- let keys = [];
20
- for (const line of lines) {
21
- const key = yield DatKey.imports(line);
22
- if (keys.find(e => e.kid === key.kid)) {
23
- throw new Error(`Invalid DAT KEYS - Duplicate KID ${key.kid}`);
24
- }
25
- keys.push(key);
26
- }
27
- keys.sort((a, b) => a.issueBegin - b.issueBegin);
28
- let issueKey = null;
29
- for (let i = keys.length - 1; i >= 0; i--) {
30
- const key = keys[i];
31
- if (key.isIssuable()) {
32
- issueKey = key;
33
- break;
34
- }
35
- }
36
- return new DatBank(issueKey, keys);
37
- });
38
- }
39
- exports(datSignatureKeyOutOption) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return (yield Promise.all(this.verifyKeys.map(e => e.exports(datSignatureKeyOutOption)))).join('\n');
42
- });
43
- }
44
- find(kid) {
45
- return this.verifyKeys.find(e => e.kid === kid) || null;
46
- }
47
- toDat(plain, secure) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- if (this.issueKey) {
50
- return yield this.issueKey.toDat(plain, secure);
51
- }
52
- throw new Error("Invalid DAT: Signing Key Does Not Exist");
53
- });
54
- }
55
- toPayload(dat) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- if (!(dat = Dat.from(dat)).format) {
58
- throw new Error("Invalid DAT: Format");
59
- }
60
- const key = this.find(dat.kid);
61
- if (key != null) {
62
- return key.toPayload(dat);
63
- }
64
- throw new Error("Invalid DAT: KID Not Found");
65
- });
66
- }
67
- }
68
- //# sourceMappingURL=dat.bank.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.bank.js","sourceRoot":"","sources":["../src/dat.bank.ts"],"names":[],"mappings":"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"}
package/dist/dat.key.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { Dat, DatCryptoKey, DatPayload, DatSignatureKey, DatSignatureKeyOutOption } from "./index.js";
2
- export declare class DatKey {
3
- readonly kid: string;
4
- readonly signatureKey: DatSignatureKey;
5
- readonly cryptoKey: DatCryptoKey;
6
- readonly issueBegin: number;
7
- readonly issueEnd: number;
8
- readonly tokenTtl: number;
9
- constructor(kid: string, signatureKey: DatSignatureKey, cryptoKey: DatCryptoKey, issueBegin: number, issueEnd: number, tokenTtl: number);
10
- exports(datSignatureKeyOutOption: DatSignatureKeyOutOption): Promise<string>;
11
- static imports(format: string): Promise<DatKey>;
12
- private static _import_ver_2;
13
- toDat(plain: ArrayBufferLike | Uint8Array | string | null | undefined, secure: ArrayBufferLike | Uint8Array | string | null | undefined): Promise<string>;
14
- toPayload(dat: Dat | string | undefined | null): Promise<DatPayload>;
15
- isPreIssuance(): boolean;
16
- isIssuable(): boolean;
17
- expiredVerifying(): boolean;
18
- hasSigningKey(): boolean;
19
- }
20
- //# sourceMappingURL=dat.key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.key.d.ts","sourceRoot":"","sources":["../src/dat.key.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAIH,YAAY,EAEZ,UAAU,EACV,eAAe,EACf,wBAAwB,EAE3B,MAAM,YAAY,CAAC;AAEpB,qBAAa,MAAM;IACf,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAG7B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAsBd,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;WAYrE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;mBAWhC,aAAa;IAU5B,KAAK,CAAC,KAAK,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,EAAE,MAAM,EAAE,eAAe,GAAC,UAAU,GAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAWzI,SAAS,CAAC,GAAG,EAAE,GAAG,GAAC,MAAM,GAAC,SAAS,GAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpE,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,OAAO;IAKrB,gBAAgB,IAAI,OAAO;IAI3B,aAAa,IAAI,OAAO;CAG3B"}
package/dist/dat.key.js DELETED
@@ -1,110 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Dat, DAT_VERSION, DatArrayBuffer, DatBytes, DatCryptoKey, DatInteger, DatPayload, DatSignatureKey, DatUnixtime, } from "./index.js";
11
- export class DatKey {
12
- constructor(kid, signatureKey, cryptoKey, issueBegin, issueEnd, tokenTtl) {
13
- if (kid.match(/[.\r\n]/) != null) {
14
- throw new Error(`Invalid Kid: kid is not allowed ".", "\\r", "\\n"" ${kid}`);
15
- }
16
- if (!DatInteger.isBetween(issueBegin, 0)) {
17
- throw new Error(`Invalid issueBegin: issueBegin is positive int or 0 ${issueBegin}`);
18
- }
19
- if (!DatInteger.isBetween(issueEnd, 0)) {
20
- throw new Error(`Invalid issueEnd: issueEnd is positive int or 0 ${issueEnd}`);
21
- }
22
- if (!DatInteger.isBetween(tokenTtl, 1)) {
23
- throw new Error(`Invalid tokenTtl: tokenTtl is positive int ${tokenTtl}`);
24
- }
25
- this.kid = kid;
26
- this.signatureKey = signatureKey;
27
- this.cryptoKey = cryptoKey;
28
- this.issueBegin = Math.floor(issueBegin);
29
- this.issueEnd = Math.floor(issueEnd);
30
- this.tokenTtl = Math.floor(tokenTtl);
31
- }
32
- exports(datSignatureKeyOutOption) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const kid = this.kid;
35
- const signAlg = this.signatureKey.algorithm;
36
- const signKey = yield this.signatureKey.exports(datSignatureKeyOutOption);
37
- const cryptoAlg = this.cryptoKey.algorithm;
38
- const cryptoKey = yield this.cryptoKey.exports();
39
- const issueBegin = this.issueBegin;
40
- const issueEnd = this.issueEnd;
41
- const tokenTtl = this.tokenTtl;
42
- return `${DAT_VERSION}.${kid}.${signAlg}.${signKey}.${cryptoAlg}.${cryptoKey}.${issueBegin}.${issueEnd}.${tokenTtl}`;
43
- });
44
- }
45
- static imports(format) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const split = format.split(".");
48
- switch (split[0] || '0') {
49
- case '2':
50
- case '1':
51
- if (split.length == 9) {
52
- return yield DatKey._import_ver_2(split);
53
- }
54
- }
55
- throw new Error("Invalid format");
56
- });
57
- }
58
- static _import_ver_2(split) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const kid = split[1];
61
- const signKey = yield DatSignatureKey.imports(split[2], split[3]);
62
- const cryptoKey = yield DatCryptoKey.imports(split[4], split[5]);
63
- const issueBegin = Number(split[6]);
64
- const issueEnd = Number(split[7]);
65
- const tokenTtl = Number(split[8]);
66
- return new DatKey(kid, signKey, cryptoKey, issueBegin, issueEnd, tokenTtl);
67
- });
68
- }
69
- toDat(plain, secure) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- const now = DatUnixtime.now();
72
- const exp = now + this.tokenTtl;
73
- const kid = this.kid;
74
- const plainBase64 = DatBytes.toBase64Url(plain);
75
- const securedBase64 = DatArrayBuffer.toBase64Url(yield this.cryptoKey.encrypt(DatArrayBuffer.from(secure)));
76
- const body = `${exp}.${kid}.${plainBase64}.${securedBase64}`;
77
- const sign = DatArrayBuffer.toBase64Url(yield this.signatureKey.sign(body));
78
- return `${body}.${sign}`;
79
- });
80
- }
81
- toPayload(dat) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- dat = Dat.from(dat);
84
- if (!dat.format) {
85
- throw new Error("Invalid DAT: Format");
86
- }
87
- if (dat.expired()) {
88
- throw new Error("Invalid DAT: Expired");
89
- }
90
- if (!(yield this.signatureKey.verify(dat.body(), dat.signature))) {
91
- throw new Error('Invalid DAT: Signature');
92
- }
93
- return new DatPayload(dat.expire, dat.plain, yield this.cryptoKey.decrypt(dat.secure));
94
- });
95
- }
96
- isPreIssuance() {
97
- return DatUnixtime.now() <= this.issueBegin;
98
- }
99
- isIssuable() {
100
- const now = DatUnixtime.now();
101
- return this.hasSigningKey() && now > this.issueBegin && now <= this.issueEnd;
102
- }
103
- expiredVerifying() {
104
- return DatUnixtime.isPast(this.issueEnd + this.tokenTtl);
105
- }
106
- hasSigningKey() {
107
- return this.signatureKey.hasSigningKey();
108
- }
109
- }
110
- //# sourceMappingURL=dat.key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dat.key.js","sourceRoot":"","sources":["../src/dat.key.ts"],"names":[],"mappings":"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"}