@nivinjoseph/n-sec 4.0.4 → 5.0.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/api-security/alg-type.js +1 -0
- package/dist/api-security/alg-type.js.map +1 -1
- package/dist/api-security/claim.d.ts +0 -1
- package/dist/api-security/claim.js +2 -2
- package/dist/api-security/claim.js.map +1 -1
- package/dist/api-security/claims-identity.js +1 -0
- package/dist/api-security/claims-identity.js.map +1 -1
- package/dist/api-security/expired-token-exception.d.ts +0 -1
- package/dist/api-security/expired-token-exception.js +2 -2
- package/dist/api-security/expired-token-exception.js.map +1 -1
- package/dist/api-security/invalid-token-exception.d.ts +0 -1
- package/dist/api-security/invalid-token-exception.js +3 -3
- package/dist/api-security/invalid-token-exception.js.map +1 -1
- package/dist/api-security/json-web-token.d.ts +2 -3
- package/dist/api-security/json-web-token.js +58 -70
- package/dist/api-security/json-web-token.js.map +1 -1
- package/dist/api-security/security-token.js +1 -0
- package/dist/api-security/security-token.js.map +1 -1
- package/dist/crypto/crypto-exception.js +1 -0
- package/dist/crypto/crypto-exception.js.map +1 -1
- package/dist/crypto/hash.d.ts +2 -3
- package/dist/crypto/hash.js +5 -5
- package/dist/crypto/hash.js.map +1 -1
- package/dist/crypto/hmac.d.ts +1 -2
- package/dist/crypto/hmac.js +4 -4
- package/dist/crypto/hmac.js.map +1 -1
- package/dist/crypto/symmetric-encryption.d.ts +1 -2
- package/dist/crypto/symmetric-encryption.js +15 -20
- package/dist/crypto/symmetric-encryption.js.map +1 -1
- package/dist/index.js +12 -11
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
- package/src/api-security/claim.ts +1 -2
- package/src/api-security/expired-token-exception.ts +1 -2
- package/src/api-security/invalid-token-exception.ts +2 -3
- package/src/api-security/json-web-token.ts +26 -27
- package/src/crypto/hash.ts +6 -7
- package/src/crypto/hmac.ts +4 -5
- package/src/crypto/symmetric-encryption.ts +17 -25
- package/test/hash.test.ts +22 -23
- package/test/hmac.test.ts +9 -9
- package/test/json-web-token.test.ts +35 -33
- package/test/symmetric-encryption.test.ts +2 -1
- package/tsconfig.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alg-type.js","sourceRoot":"","sources":["../../src/api-security/alg-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"alg-type.js","sourceRoot":"","sources":["../../src/api-security/alg-type.ts"],"names":[],"mappings":";;;AACA,IAAY,OAIX;AAJD,WAAY,OAAO;IAEf,qCAAQ,CAAA;AAEZ,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Claim = void 0;
|
|
3
4
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
4
|
-
require("@nivinjoseph/n-ext");
|
|
5
5
|
class Claim {
|
|
6
6
|
constructor(type, value) {
|
|
7
|
-
n_defensive_1.given(type, "type").ensureHasValue()
|
|
7
|
+
n_defensive_1.given(type, "type").ensureHasValue();
|
|
8
8
|
this._type = type.trim();
|
|
9
9
|
this._value = value;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/api-security/claim.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/api-security/claim.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AAIjD,MAAa,KAAK;IAUd,YAAmB,IAAY,EAAE,KAAU;QAEvC,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAVD,IAAW,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,KAAU,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAYxC,MAAM,CAAC,KAAY;QAEtB,IAAI,KAAK,IAAI,IAAI;YACb,OAAO,KAAK,CAAC;QAEjB,IAAI,KAAK,KAAK,IAAI;YACd,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAClE,CAAC;CACJ;AA7BD,sBA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims-identity.js","sourceRoot":"","sources":["../../src/api-security/claims-identity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claims-identity.js","sourceRoot":"","sources":["../../src/api-security/claims-identity.ts"],"names":[],"mappings":";;;AACA,0DAAiD;AAIjD,MAAa,cAAc;IAQvB,YAAmB,MAA4B;QAE3C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,CAAC;IARD,IAAW,MAAM,KAA2B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAW3D,QAAQ,CAAC,KAAY;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;CACJ;AApBD,wCAoBC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExpiredTokenException = void 0;
|
|
3
4
|
const n_exception_1 = require("@nivinjoseph/n-exception");
|
|
4
5
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
5
|
-
require("@nivinjoseph/n-ext");
|
|
6
6
|
class ExpiredTokenException extends n_exception_1.Exception {
|
|
7
7
|
constructor(token) {
|
|
8
|
-
n_defensive_1.given(token, "token").ensureHasValue()
|
|
8
|
+
n_defensive_1.given(token, "token").ensureHasValue();
|
|
9
9
|
token = token.trim();
|
|
10
10
|
super(`Token '${token}' is expired.`);
|
|
11
11
|
this._token = token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expired-token-exception.js","sourceRoot":"","sources":["../../src/api-security/expired-token-exception.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expired-token-exception.js","sourceRoot":"","sources":["../../src/api-security/expired-token-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,0DAAiD;AAIjD,MAAa,qBAAsB,SAAQ,uBAAS;IAQhD,YAAmB,KAAa;QAE5B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;QACvC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IATD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CAUrD;AAfD,sDAeC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidTokenException = void 0;
|
|
3
4
|
const n_exception_1 = require("@nivinjoseph/n-exception");
|
|
4
5
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
5
|
-
require("@nivinjoseph/n-ext");
|
|
6
6
|
class InvalidTokenException extends n_exception_1.Exception {
|
|
7
7
|
constructor(token, reason) {
|
|
8
|
-
n_defensive_1.given(token, "token").ensureHasValue()
|
|
9
|
-
n_defensive_1.given(reason, "reason").ensureHasValue()
|
|
8
|
+
n_defensive_1.given(token, "token").ensureHasValue();
|
|
9
|
+
n_defensive_1.given(reason, "reason").ensureHasValue();
|
|
10
10
|
token = token.trim();
|
|
11
11
|
super(`Token '${token}' is invalid because ${reason}.`);
|
|
12
12
|
this._token = token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-token-exception.js","sourceRoot":"","sources":["../../src/api-security/invalid-token-exception.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invalid-token-exception.js","sourceRoot":"","sources":["../../src/api-security/invalid-token-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,0DAAiD;AAIjD,MAAa,qBAAsB,SAAQ,uBAAS;IAUhD,YAAmB,KAAa,EAAE,MAAc;QAE5C,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;QACvC,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAEzC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,wBAAwB,MAAM,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAbD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CAavD;AApBD,sDAoBC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Claim } from "./claim";
|
|
2
|
-
import "@nivinjoseph/n-ext";
|
|
3
2
|
import { AlgType } from "./alg-type";
|
|
4
3
|
export declare class JsonWebToken {
|
|
5
4
|
private readonly _issuer;
|
|
@@ -16,9 +15,9 @@ export declare class JsonWebToken {
|
|
|
16
15
|
get isExpired(): boolean;
|
|
17
16
|
get claims(): ReadonlyArray<Claim>;
|
|
18
17
|
private constructor();
|
|
19
|
-
generateToken():
|
|
18
|
+
generateToken(): string;
|
|
20
19
|
static fromClaims(issuer: string, algType: AlgType, key: string, expiry: number, claims: Array<Claim>): JsonWebToken;
|
|
21
|
-
static fromToken(issuer: string, algType: AlgType, key: string, token: string):
|
|
20
|
+
static fromToken(issuer: string, algType: AlgType, key: string, token: string): JsonWebToken;
|
|
22
21
|
private toHex;
|
|
23
22
|
private static toObject;
|
|
24
23
|
}
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonWebToken = void 0;
|
|
12
4
|
const claim_1 = require("./claim");
|
|
13
5
|
const n_exception_1 = require("@nivinjoseph/n-exception");
|
|
14
6
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
15
|
-
require("@nivinjoseph/n-ext");
|
|
16
7
|
const invalid_token_exception_1 = require("./invalid-token-exception");
|
|
8
|
+
const alg_type_1 = require("./alg-type");
|
|
17
9
|
const hmac_1 = require("./../crypto/hmac");
|
|
18
10
|
const expired_token_exception_1 = require("./expired-token-exception");
|
|
19
11
|
class JsonWebToken {
|
|
20
12
|
constructor(issuer, algType, key, isFullKey, expiry, claims) {
|
|
21
|
-
n_defensive_1.given(issuer, "issuer").ensureHasValue()
|
|
22
|
-
n_defensive_1.given(algType, "algType").ensureHasValue().
|
|
23
|
-
n_defensive_1.given(key, "key").ensureHasValue()
|
|
13
|
+
n_defensive_1.given(issuer, "issuer").ensureHasValue();
|
|
14
|
+
n_defensive_1.given(algType, "algType").ensureHasValue().ensureIsEnum(alg_type_1.AlgType);
|
|
15
|
+
n_defensive_1.given(key, "key").ensureHasValue();
|
|
24
16
|
n_defensive_1.given(isFullKey, "isFullKey").ensureHasValue();
|
|
25
17
|
n_defensive_1.given(expiry, "expiry").ensureHasValue();
|
|
26
18
|
n_defensive_1.given(claims, "claims")
|
|
@@ -41,73 +33,69 @@ class JsonWebToken {
|
|
|
41
33
|
get isExpired() { return this._expiry <= Date.now(); }
|
|
42
34
|
get claims() { return this._claims; }
|
|
43
35
|
generateToken() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return token;
|
|
58
|
-
});
|
|
36
|
+
if (!this._isfullKey)
|
|
37
|
+
throw new n_exception_1.InvalidOperationException("generating token using an instance created from token");
|
|
38
|
+
const header = {
|
|
39
|
+
iss: this._issuer,
|
|
40
|
+
alg: this._algType,
|
|
41
|
+
exp: this._expiry
|
|
42
|
+
};
|
|
43
|
+
const body = {};
|
|
44
|
+
this._claims.forEach(t => body[t.type] = t.value);
|
|
45
|
+
const headerAndBody = this.toHex(header) + "." + this.toHex(body);
|
|
46
|
+
const signature = hmac_1.Hmac.create(this._key, headerAndBody);
|
|
47
|
+
const token = headerAndBody + "." + signature;
|
|
48
|
+
return token;
|
|
59
49
|
}
|
|
60
50
|
static fromClaims(issuer, algType, key, expiry, claims) {
|
|
61
51
|
return new JsonWebToken(issuer, algType, key, true, expiry, claims);
|
|
62
52
|
}
|
|
63
53
|
static fromToken(issuer, algType, key, token) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return new JsonWebToken(issuer, algType, key, false, header.exp, claims);
|
|
101
|
-
});
|
|
54
|
+
n_defensive_1.given(issuer, "issuer").ensureHasValue();
|
|
55
|
+
n_defensive_1.given(algType, "algType").ensureHasValue().ensureIsEnum(alg_type_1.AlgType);
|
|
56
|
+
n_defensive_1.given(key, "key").ensureHasValue();
|
|
57
|
+
n_defensive_1.given(token, "token").ensureHasValue();
|
|
58
|
+
issuer = issuer.trim();
|
|
59
|
+
key = key.trim();
|
|
60
|
+
token = token.trim();
|
|
61
|
+
const tokenSplitted = token.split(".");
|
|
62
|
+
if (tokenSplitted.length !== 3)
|
|
63
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, "format is incorrect");
|
|
64
|
+
const headerString = tokenSplitted[0];
|
|
65
|
+
const bodyString = tokenSplitted[1];
|
|
66
|
+
const signature = tokenSplitted[2];
|
|
67
|
+
const header = JsonWebToken.toObject(headerString);
|
|
68
|
+
const body = JsonWebToken.toObject(bodyString);
|
|
69
|
+
if (header.iss === undefined || header.iss === null)
|
|
70
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, "iss was not present");
|
|
71
|
+
if (header.iss !== issuer)
|
|
72
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, `iss was expected to be '${issuer}' but instead was '${header.iss}'`);
|
|
73
|
+
if (header.alg === undefined || header.alg === null)
|
|
74
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, "alg was not present");
|
|
75
|
+
if (header.alg !== algType)
|
|
76
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, `alg was expected to be '${algType}' but instead was '${header.alg}'`);
|
|
77
|
+
if (header.exp === undefined || header.exp === null)
|
|
78
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, "exp was not present");
|
|
79
|
+
if (typeof (header.exp) !== "number")
|
|
80
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, `exp value '${header.exp}' is invalid`);
|
|
81
|
+
if (header.exp <= Date.now())
|
|
82
|
+
throw new expired_token_exception_1.ExpiredTokenException(token);
|
|
83
|
+
const computedSignature = hmac_1.Hmac.create(key, headerString + "." + bodyString);
|
|
84
|
+
if (computedSignature !== signature)
|
|
85
|
+
throw new invalid_token_exception_1.InvalidTokenException(token, "signature could not be verified");
|
|
86
|
+
const claims = new Array();
|
|
87
|
+
for (let item in body)
|
|
88
|
+
claims.push(new claim_1.Claim(item, body[item]));
|
|
89
|
+
return new JsonWebToken(issuer, algType, key, false, header.exp, claims);
|
|
102
90
|
}
|
|
103
91
|
toHex(obj) {
|
|
104
|
-
|
|
105
|
-
|
|
92
|
+
const json = JSON.stringify(obj);
|
|
93
|
+
const hex = Buffer.from(json, "utf8").toString("hex");
|
|
106
94
|
return hex.toUpperCase();
|
|
107
95
|
}
|
|
108
96
|
static toObject(hex) {
|
|
109
|
-
|
|
110
|
-
|
|
97
|
+
const json = Buffer.from(hex.toLowerCase(), "hex").toString("utf8");
|
|
98
|
+
const obj = JSON.parse(json);
|
|
111
99
|
return obj;
|
|
112
100
|
}
|
|
113
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-web-token.js","sourceRoot":"","sources":["../../src/api-security/json-web-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-web-token.js","sourceRoot":"","sources":["../../src/api-security/json-web-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-token.js","sourceRoot":"","sources":["../../src/api-security/security-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"security-token.js","sourceRoot":"","sources":["../../src/api-security/security-token.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AAEjD,MAAa,aAAa;IAUtB,YAAmB,MAAc,EAAE,KAAa;QAE5C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAbD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAe3C,QAAQ;QAEX,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;CACJ;AA1BD,sCA0BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-exception.js","sourceRoot":"","sources":["../../src/crypto/crypto-exception.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto-exception.js","sourceRoot":"","sources":["../../src/crypto/crypto-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AAIrD,MAAa,eAAgB,SAAQ,uBAAS;CAC3C;AADH,0CACG"}
|
package/dist/crypto/hash.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import "@nivinjoseph/n-ext";
|
|
2
1
|
export declare class Hash {
|
|
3
2
|
private constructor();
|
|
4
|
-
static create(value: string):
|
|
5
|
-
static createUsingSalt(value: string, salt: string):
|
|
3
|
+
static create(value: string): string;
|
|
4
|
+
static createUsingSalt(value: string, salt: string): string;
|
|
6
5
|
}
|
package/dist/crypto/hash.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Hash = void 0;
|
|
3
4
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
4
|
-
require("@nivinjoseph/n-ext");
|
|
5
5
|
const Crypto = require("crypto");
|
|
6
6
|
class Hash {
|
|
7
7
|
constructor() { }
|
|
8
8
|
static create(value) {
|
|
9
|
-
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString()
|
|
9
|
+
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
|
|
10
10
|
value = value.trim();
|
|
11
11
|
const hash = Crypto.createHash("sha512");
|
|
12
12
|
hash.update(value, "utf8");
|
|
13
|
-
return
|
|
13
|
+
return hash.digest("hex").toUpperCase();
|
|
14
14
|
}
|
|
15
15
|
static createUsingSalt(value, salt) {
|
|
16
|
-
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString()
|
|
17
|
-
n_defensive_1.given(salt, "salt").ensureHasValue().ensureIsString()
|
|
16
|
+
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
|
|
17
|
+
n_defensive_1.given(salt, "salt").ensureHasValue().ensureIsString();
|
|
18
18
|
value = value.trim();
|
|
19
19
|
salt = salt.trim();
|
|
20
20
|
const reverse = (val) => {
|
package/dist/crypto/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAExD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,IAAY;QAErD,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAEtD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;YAE5B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC/B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAE3F,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;CACJ;AAvCD,oBAuCC"}
|
package/dist/crypto/hmac.d.ts
CHANGED
package/dist/crypto/hmac.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Hmac = void 0;
|
|
3
4
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
4
|
-
require("@nivinjoseph/n-ext");
|
|
5
5
|
const Crypto = require("crypto");
|
|
6
6
|
class Hmac {
|
|
7
7
|
constructor() { }
|
|
8
8
|
static create(key, value) {
|
|
9
|
-
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString()
|
|
10
|
-
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString()
|
|
9
|
+
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
|
|
10
|
+
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
|
|
11
11
|
key = key.trim();
|
|
12
12
|
value = value.trim();
|
|
13
13
|
const hmac = Crypto.createHmac("sha256", Buffer.from(key, "hex"));
|
|
14
14
|
hmac.update(value, "utf8");
|
|
15
|
-
return
|
|
15
|
+
return hmac.digest("hex").toUpperCase();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.Hmac = Hmac;
|
package/dist/crypto/hmac.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/crypto/hmac.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/crypto/hmac.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa;QAE3C,mBAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACpD,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAExD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;CACJ;AAlBD,oBAkBC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import "@nivinjoseph/n-ext";
|
|
2
1
|
export declare class SymmetricEncryption {
|
|
3
2
|
private constructor();
|
|
4
3
|
static generateKey(): Promise<string>;
|
|
5
4
|
static encrypt(key: string, value: string): Promise<string>;
|
|
6
|
-
static decrypt(key: string, value: string):
|
|
5
|
+
static decrypt(key: string, value: string): string;
|
|
7
6
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SymmetricEncryption = void 0;
|
|
3
4
|
const Crypto = require("crypto");
|
|
4
5
|
const crypto_exception_1 = require("./crypto-exception");
|
|
5
6
|
const n_defensive_1 = require("@nivinjoseph/n-defensive");
|
|
6
|
-
require("@nivinjoseph/n-ext");
|
|
7
7
|
class SymmetricEncryption {
|
|
8
8
|
constructor() { }
|
|
9
9
|
static generateKey() {
|
|
@@ -18,11 +18,11 @@ class SymmetricEncryption {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
static encrypt(key, value) {
|
|
21
|
-
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
|
|
22
|
-
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
|
|
23
|
-
key = key.trim();
|
|
24
|
-
value = value.trim();
|
|
25
21
|
return new Promise((resolve, reject) => {
|
|
22
|
+
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
|
|
23
|
+
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
|
|
24
|
+
key = key.trim();
|
|
25
|
+
value = value.trim();
|
|
26
26
|
Crypto.randomBytes(16, (err, buf) => {
|
|
27
27
|
if (err) {
|
|
28
28
|
reject(err);
|
|
@@ -43,23 +43,18 @@ class SymmetricEncryption {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
static decrypt(key, value) {
|
|
46
|
-
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString()
|
|
47
|
-
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString()
|
|
46
|
+
n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
|
|
47
|
+
n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
|
|
48
48
|
key = key.trim();
|
|
49
49
|
value = value.trim();
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return Promise.resolve(decrypted);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
return Promise.reject(error);
|
|
62
|
-
}
|
|
50
|
+
const splitted = value.split(".");
|
|
51
|
+
if (splitted.length !== 2)
|
|
52
|
+
throw new crypto_exception_1.CryptoException("Invalid value.");
|
|
53
|
+
const iv = Buffer.from(splitted[1], "hex");
|
|
54
|
+
const deCipher = Crypto.createDecipheriv("AES-256-CBC", Buffer.from(key, "hex"), iv);
|
|
55
|
+
let decrypted = deCipher.update(splitted[0], "hex", "utf8");
|
|
56
|
+
decrypted += deCipher.final("utf8");
|
|
57
|
+
return decrypted;
|
|
63
58
|
}
|
|
64
59
|
}
|
|
65
60
|
exports.SymmetricEncryption = SymmetricEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symmetric-encryption.js","sourceRoot":"","sources":["../../src/crypto/symmetric-encryption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"symmetric-encryption.js","sourceRoot":"","sources":["../../src/crypto/symmetric-encryption.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecurityToken = exports.JsonWebToken = exports.InvalidTokenException = exports.ExpiredTokenException = exports.ClaimsIdentity = exports.Claim = exports.AlgType = exports.CryptoException = exports.Hash = exports.Hmac = exports.SymmetricEncryption = void 0;
|
|
3
4
|
const symmetric_encryption_1 = require("./crypto/symmetric-encryption");
|
|
4
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, "SymmetricEncryption", { enumerable: true, get: function () { return symmetric_encryption_1.SymmetricEncryption; } });
|
|
5
6
|
const hmac_1 = require("./crypto/hmac");
|
|
6
|
-
exports
|
|
7
|
+
Object.defineProperty(exports, "Hmac", { enumerable: true, get: function () { return hmac_1.Hmac; } });
|
|
7
8
|
const hash_1 = require("./crypto/hash");
|
|
8
|
-
exports
|
|
9
|
+
Object.defineProperty(exports, "Hash", { enumerable: true, get: function () { return hash_1.Hash; } });
|
|
9
10
|
const crypto_exception_1 = require("./crypto/crypto-exception");
|
|
10
|
-
exports
|
|
11
|
+
Object.defineProperty(exports, "CryptoException", { enumerable: true, get: function () { return crypto_exception_1.CryptoException; } });
|
|
11
12
|
const alg_type_1 = require("./api-security/alg-type");
|
|
12
|
-
exports
|
|
13
|
+
Object.defineProperty(exports, "AlgType", { enumerable: true, get: function () { return alg_type_1.AlgType; } });
|
|
13
14
|
const claim_1 = require("./api-security/claim");
|
|
14
|
-
exports
|
|
15
|
+
Object.defineProperty(exports, "Claim", { enumerable: true, get: function () { return claim_1.Claim; } });
|
|
15
16
|
const claims_identity_1 = require("./api-security/claims-identity");
|
|
16
|
-
exports
|
|
17
|
+
Object.defineProperty(exports, "ClaimsIdentity", { enumerable: true, get: function () { return claims_identity_1.ClaimsIdentity; } });
|
|
17
18
|
const expired_token_exception_1 = require("./api-security/expired-token-exception");
|
|
18
|
-
exports
|
|
19
|
+
Object.defineProperty(exports, "ExpiredTokenException", { enumerable: true, get: function () { return expired_token_exception_1.ExpiredTokenException; } });
|
|
19
20
|
const invalid_token_exception_1 = require("./api-security/invalid-token-exception");
|
|
20
|
-
exports
|
|
21
|
+
Object.defineProperty(exports, "InvalidTokenException", { enumerable: true, get: function () { return invalid_token_exception_1.InvalidTokenException; } });
|
|
21
22
|
const json_web_token_1 = require("./api-security/json-web-token");
|
|
22
|
-
exports
|
|
23
|
+
Object.defineProperty(exports, "JsonWebToken", { enumerable: true, get: function () { return json_web_token_1.JsonWebToken; } });
|
|
23
24
|
const security_token_1 = require("./api-security/security-token");
|
|
24
|
-
exports
|
|
25
|
+
Object.defineProperty(exports, "SecurityToken", { enumerable: true, get: function () { return security_token_1.SecurityToken; } });
|
|
25
26
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAoE;AAkBhE,oGAlBK,0CAAmB,OAkBL;AAjBvB,wCAAqC;AAiBZ,qFAjBhB,WAAI,OAiBgB;AAhB7B,wCAAqC;AAgBN,qFAhBtB,WAAI,OAgBsB;AAbnC,gEAA4D;AAexD,gGAfK,kCAAe,OAeL;AAbnB,sDAAkD;AAe9C,wFAfK,kBAAO,OAeL;AAdX,gDAA6C;AAchC,sFAdJ,aAAK,OAcI;AAblB,oEAAgE;AAa5C,+FAbX,gCAAc,OAaW;AAZlC,oFAA+E;AAY3C,sGAZ3B,+CAAqB,OAY2B;AAXzD,oFAA+E;AAWpB,sGAXlD,+CAAqB,OAWkD;AAVhF,kEAA6D;AAUqB,6FAVzE,6BAAY,OAUyE;AAT9F,kEAA8D;AASkC,8FATvF,8BAAa,OASuF"}
|