@lindorm/aegis 0.2.6 → 0.3.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/CHANGELOG.md +31 -0
- package/dist/classes/Aegis.d.ts +29 -3
- package/dist/classes/Aegis.d.ts.map +1 -1
- package/dist/classes/Aegis.js +257 -45
- package/dist/classes/Aegis.js.map +1 -1
- package/dist/classes/CweKit.d.ts +14 -0
- package/dist/classes/CweKit.d.ts.map +1 -0
- package/dist/classes/CweKit.js +155 -0
- package/dist/classes/CweKit.js.map +1 -0
- package/dist/classes/CwsKit.d.ts +13 -0
- package/dist/classes/CwsKit.d.ts.map +1 -0
- package/dist/classes/CwsKit.js +131 -0
- package/dist/classes/CwsKit.js.map +1 -0
- package/dist/classes/CwtKit.d.ts +17 -0
- package/dist/classes/CwtKit.d.ts.map +1 -0
- package/dist/classes/CwtKit.js +162 -0
- package/dist/classes/CwtKit.js.map +1 -0
- package/dist/classes/JweKit.d.ts +5 -4
- package/dist/classes/JweKit.d.ts.map +1 -1
- package/dist/classes/JweKit.js +62 -53
- package/dist/classes/JweKit.js.map +1 -1
- package/dist/classes/JwsKit.d.ts +5 -2
- package/dist/classes/JwsKit.d.ts.map +1 -1
- package/dist/classes/JwsKit.js +43 -47
- package/dist/classes/JwsKit.js.map +1 -1
- package/dist/classes/JwtKit.d.ts +5 -2
- package/dist/classes/JwtKit.d.ts.map +1 -1
- package/dist/classes/JwtKit.js +48 -58
- package/dist/classes/JwtKit.js.map +1 -1
- package/dist/classes/SignatureKit.d.ts +12 -0
- package/dist/classes/SignatureKit.d.ts.map +1 -0
- package/dist/classes/SignatureKit.js +41 -0
- package/dist/classes/SignatureKit.js.map +1 -0
- package/dist/classes/index.d.ts +4 -0
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +4 -0
- package/dist/classes/index.js.map +1 -1
- package/dist/constants/private/cose.d.ts +20 -0
- package/dist/constants/private/cose.d.ts.map +1 -0
- package/dist/constants/private/cose.js +134 -0
- package/dist/constants/private/cose.js.map +1 -0
- package/dist/constants/private/format.d.ts.map +1 -1
- package/dist/constants/private/header.d.ts +3 -0
- package/dist/constants/private/header.d.ts.map +1 -0
- package/dist/constants/private/header.js +25 -0
- package/dist/constants/private/header.js.map +1 -0
- package/dist/constants/private/index.d.ts +2 -0
- package/dist/constants/private/index.d.ts.map +1 -1
- package/dist/constants/private/index.js +2 -0
- package/dist/constants/private/index.js.map +1 -1
- package/dist/errors/CoseEncryptError.d.ts +4 -0
- package/dist/errors/CoseEncryptError.d.ts.map +1 -0
- package/dist/errors/CoseEncryptError.js +8 -0
- package/dist/errors/CoseEncryptError.js.map +1 -0
- package/dist/errors/CoseSignError.d.ts +4 -0
- package/dist/errors/CoseSignError.d.ts.map +1 -0
- package/dist/errors/CoseSignError.js +8 -0
- package/dist/errors/CoseSignError.js.map +1 -0
- package/dist/errors/CwtError.d.ts +4 -0
- package/dist/errors/CwtError.d.ts.map +1 -0
- package/dist/errors/CwtError.js +8 -0
- package/dist/errors/CwtError.js.map +1 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/Aegis.d.ts +47 -0
- package/dist/interfaces/Aegis.d.ts.map +1 -0
- package/dist/{types/interfaces/aegis.js → interfaces/Aegis.js} +1 -1
- package/dist/interfaces/Aegis.js.map +1 -0
- package/dist/interfaces/CweKit.d.ts +6 -0
- package/dist/interfaces/CweKit.d.ts.map +1 -0
- package/dist/{types/interfaces/jwe-kit.js → interfaces/CweKit.js} +1 -1
- package/dist/interfaces/CweKit.js.map +1 -0
- package/dist/interfaces/CwsKit.d.ts +6 -0
- package/dist/interfaces/CwsKit.d.ts.map +1 -0
- package/dist/{types/interfaces/jws-kit.js → interfaces/CwsKit.js} +1 -1
- package/dist/interfaces/CwsKit.js.map +1 -0
- package/dist/interfaces/CwtKit.d.ts +7 -0
- package/dist/interfaces/CwtKit.d.ts.map +1 -0
- package/dist/{types/interfaces/jwt-kit.js → interfaces/CwtKit.js} +1 -1
- package/dist/interfaces/CwtKit.js.map +1 -0
- package/dist/interfaces/JweKit.d.ts +6 -0
- package/dist/interfaces/JweKit.d.ts.map +1 -0
- package/dist/interfaces/JweKit.js +3 -0
- package/dist/interfaces/JweKit.js.map +1 -0
- package/dist/interfaces/JwsKit.d.ts +6 -0
- package/dist/interfaces/JwsKit.d.ts.map +1 -0
- package/dist/interfaces/JwsKit.js +3 -0
- package/dist/interfaces/JwsKit.js.map +1 -0
- package/dist/interfaces/JwtKit.d.ts +7 -0
- package/dist/interfaces/JwtKit.d.ts.map +1 -0
- package/dist/interfaces/JwtKit.js +3 -0
- package/dist/interfaces/JwtKit.js.map +1 -0
- package/dist/interfaces/index.d.ts +8 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +24 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/mocks/create-mock-aegis.d.ts +1 -1
- package/dist/mocks/create-mock-aegis.d.ts.map +1 -1
- package/dist/mocks/create-mock-aegis.js +46 -2
- package/dist/mocks/create-mock-aegis.js.map +1 -1
- package/dist/types/aegis.d.ts +0 -1
- package/dist/types/aegis.d.ts.map +1 -1
- package/dist/types/cwe/cwe-decode.d.ts +14 -0
- package/dist/types/cwe/cwe-decode.d.ts.map +1 -0
- package/dist/types/cwe/cwe-decode.js +3 -0
- package/dist/types/cwe/cwe-decode.js.map +1 -0
- package/dist/types/cwe/cwe-decrypt.d.ts +15 -0
- package/dist/types/cwe/cwe-decrypt.d.ts.map +1 -0
- package/dist/types/cwe/cwe-decrypt.js +3 -0
- package/dist/types/cwe/cwe-decrypt.js.map +1 -0
- package/dist/types/cwe/cwe-encrypt.d.ts +10 -0
- package/dist/types/cwe/cwe-encrypt.d.ts.map +1 -0
- package/dist/types/cwe/cwe-encrypt.js +3 -0
- package/dist/types/cwe/cwe-encrypt.js.map +1 -0
- package/dist/types/cwe/cwe-kit.d.ts +9 -0
- package/dist/types/cwe/cwe-kit.d.ts.map +1 -0
- package/dist/types/cwe/cwe-kit.js +3 -0
- package/dist/types/cwe/cwe-kit.js.map +1 -0
- package/dist/types/cwe/index.d.ts +5 -0
- package/dist/types/cwe/index.d.ts.map +1 -0
- package/dist/types/cwe/index.js +21 -0
- package/dist/types/cwe/index.js.map +1 -0
- package/dist/types/cws/cws-decode.d.ts +9 -0
- package/dist/types/cws/cws-decode.d.ts.map +1 -0
- package/dist/types/cws/cws-decode.js +3 -0
- package/dist/types/cws/cws-decode.js.map +1 -0
- package/dist/types/cws/cws-kit.d.ts +8 -0
- package/dist/types/cws/cws-kit.d.ts.map +1 -0
- package/dist/types/cws/cws-kit.js +3 -0
- package/dist/types/cws/cws-kit.js.map +1 -0
- package/dist/types/cws/cws-parse.d.ts +14 -0
- package/dist/types/cws/cws-parse.d.ts.map +1 -0
- package/dist/types/cws/cws-parse.js +3 -0
- package/dist/types/cws/cws-parse.js.map +1 -0
- package/dist/types/cws/cws-sign.d.ts +12 -0
- package/dist/types/cws/cws-sign.d.ts.map +1 -0
- package/dist/types/cws/cws-sign.js +3 -0
- package/dist/types/cws/cws-sign.js.map +1 -0
- package/dist/types/cws/index.d.ts +5 -0
- package/dist/types/cws/index.d.ts.map +1 -0
- package/dist/types/cws/index.js +21 -0
- package/dist/types/cws/index.js.map +1 -0
- package/dist/types/cwt/cwt-claims.d.ts +3 -0
- package/dist/types/cwt/cwt-claims.d.ts.map +1 -0
- package/dist/types/cwt/cwt-claims.js +3 -0
- package/dist/types/cwt/cwt-claims.js.map +1 -0
- package/dist/types/cwt/cwt-decode.d.ts +10 -0
- package/dist/types/cwt/cwt-decode.d.ts.map +1 -0
- package/dist/types/cwt/cwt-decode.js +3 -0
- package/dist/types/cwt/cwt-decode.js.map +1 -0
- package/dist/types/cwt/cwt-kit.d.ts +3 -0
- package/dist/types/cwt/cwt-kit.d.ts.map +1 -0
- package/dist/types/cwt/cwt-kit.js +3 -0
- package/dist/types/cwt/cwt-kit.js.map +1 -0
- package/dist/types/cwt/cwt-parse.d.ts +15 -0
- package/dist/types/cwt/cwt-parse.d.ts.map +1 -0
- package/dist/types/cwt/cwt-parse.js +3 -0
- package/dist/types/cwt/cwt-parse.js.map +1 -0
- package/dist/types/cwt/cwt-sign.d.ts +14 -0
- package/dist/types/cwt/cwt-sign.d.ts.map +1 -0
- package/dist/types/cwt/cwt-sign.js +3 -0
- package/dist/types/cwt/cwt-sign.js.map +1 -0
- package/dist/types/cwt/cwt-validate.d.ts +3 -0
- package/dist/types/cwt/cwt-validate.d.ts.map +1 -0
- package/dist/types/cwt/cwt-validate.js +3 -0
- package/dist/types/cwt/cwt-validate.js.map +1 -0
- package/dist/types/cwt/cwt-verify.d.ts +3 -0
- package/dist/types/cwt/cwt-verify.d.ts.map +1 -0
- package/dist/types/cwt/cwt-verify.js +3 -0
- package/dist/types/cwt/cwt-verify.js.map +1 -0
- package/dist/types/cwt/index.d.ts +8 -0
- package/dist/types/cwt/index.d.ts.map +1 -0
- package/dist/types/cwt/index.js +24 -0
- package/dist/types/cwt/index.js.map +1 -0
- package/dist/types/header.d.ts +34 -11
- package/dist/types/header.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/jwe/jwe-decode.d.ts +1 -1
- package/dist/types/jwe/jwe-decode.d.ts.map +1 -1
- package/dist/types/jwe/jwe-decrypt.d.ts +2 -2
- package/dist/types/jwe/jwe-decrypt.d.ts.map +1 -1
- package/dist/types/jwe/jwe-encrypt.d.ts +2 -0
- package/dist/types/jwe/jwe-encrypt.d.ts.map +1 -1
- package/dist/types/jwe/jwe-kit.d.ts +0 -1
- package/dist/types/jwe/jwe-kit.d.ts.map +1 -1
- package/dist/types/jws/index.d.ts +1 -1
- package/dist/types/jws/index.d.ts.map +1 -1
- package/dist/types/jws/index.js +1 -1
- package/dist/types/jws/index.js.map +1 -1
- package/dist/types/jws/{jws-verify.d.ts → jws-parse.d.ts} +5 -5
- package/dist/types/jws/jws-parse.d.ts.map +1 -0
- package/dist/types/jws/jws-parse.js +3 -0
- package/dist/types/jws/jws-parse.js.map +1 -0
- package/dist/types/jws/jws-sign.d.ts +2 -0
- package/dist/types/jws/jws-sign.d.ts.map +1 -1
- package/dist/types/jwt/jwt-claims.d.ts +1 -1
- package/dist/types/jwt/jwt-claims.d.ts.map +1 -1
- package/dist/types/jwt/jwt-parse.d.ts +13 -0
- package/dist/types/jwt/jwt-parse.d.ts.map +1 -1
- package/dist/types/jwt/jwt-sign.d.ts +2 -0
- package/dist/types/jwt/jwt-sign.d.ts.map +1 -1
- package/dist/types/jwt/jwt-verify.d.ts +0 -15
- package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
- package/dist/types/signature-kit.d.ts +9 -0
- package/dist/types/signature-kit.d.ts.map +1 -0
- package/dist/types/signature-kit.js +3 -0
- package/dist/types/signature-kit.js.map +1 -0
- package/dist/utils/private/auth-tag-length.d.ts +3 -0
- package/dist/utils/private/auth-tag-length.d.ts.map +1 -0
- package/dist/utils/private/auth-tag-length.js +21 -0
- package/dist/utils/private/auth-tag-length.js.map +1 -0
- package/dist/utils/private/cose/bstr.d.ts +4 -0
- package/dist/utils/private/cose/bstr.d.ts.map +1 -0
- package/dist/utils/private/cose/bstr.js +18 -0
- package/dist/utils/private/cose/bstr.js.map +1 -0
- package/dist/utils/private/cose/claims.d.ts +5 -0
- package/dist/utils/private/cose/claims.d.ts.map +1 -0
- package/dist/utils/private/cose/claims.js +35 -0
- package/dist/utils/private/cose/claims.js.map +1 -0
- package/dist/utils/private/cose/crit.d.ts +3 -0
- package/dist/utils/private/cose/crit.d.ts.map +1 -0
- package/dist/utils/private/cose/crit.js +43 -0
- package/dist/utils/private/cose/crit.js.map +1 -0
- package/dist/utils/private/cose/find.d.ts +5 -0
- package/dist/utils/private/cose/find.d.ts.map +1 -0
- package/dist/utils/private/cose/find.js +37 -0
- package/dist/utils/private/cose/find.js.map +1 -0
- package/dist/utils/private/cose/header.d.ts +5 -0
- package/dist/utils/private/cose/header.d.ts.map +1 -0
- package/dist/utils/private/cose/header.js +88 -0
- package/dist/utils/private/cose/header.js.map +1 -0
- package/dist/utils/private/cose/index.d.ts +3 -0
- package/dist/utils/private/cose/index.d.ts.map +1 -0
- package/dist/{types/interfaces → utils/private/cose}/index.js +2 -4
- package/dist/utils/private/cose/index.js.map +1 -0
- package/dist/utils/private/cose/key.d.ts +4 -0
- package/dist/utils/private/cose/key.d.ts.map +1 -0
- package/dist/utils/private/cose/key.js +82 -0
- package/dist/utils/private/cose/key.js.map +1 -0
- package/dist/utils/private/cose-sign-token.d.ts +10 -0
- package/dist/utils/private/cose-sign-token.d.ts.map +1 -0
- package/dist/utils/private/cose-sign-token.js +12 -0
- package/dist/utils/private/cose-sign-token.js.map +1 -0
- package/dist/utils/private/cose-signature.d.ts +16 -0
- package/dist/utils/private/cose-signature.d.ts.map +1 -0
- package/dist/utils/private/cose-signature.js +17 -0
- package/dist/utils/private/cose-signature.js.map +1 -0
- package/dist/utils/private/create-hash.d.ts.map +1 -1
- package/dist/utils/private/index.d.ts +6 -3
- package/dist/utils/private/index.d.ts.map +1 -1
- package/dist/utils/private/index.js +6 -3
- package/dist/utils/private/index.js.map +1 -1
- package/dist/utils/private/jose-header.d.ts +4 -0
- package/dist/utils/private/jose-header.d.ts.map +1 -0
- package/dist/utils/private/jose-header.js +51 -0
- package/dist/utils/private/jose-header.js.map +1 -0
- package/dist/utils/private/jose-signature.d.ts +10 -0
- package/dist/utils/private/jose-signature.d.ts.map +1 -0
- package/dist/utils/private/jose-signature.js +19 -0
- package/dist/utils/private/jose-signature.js.map +1 -0
- package/dist/utils/private/jwt-payload.d.ts +3 -2
- package/dist/utils/private/jwt-payload.d.ts.map +1 -1
- package/dist/utils/private/jwt-payload.js +16 -14
- package/dist/utils/private/jwt-payload.js.map +1 -1
- package/dist/utils/private/jwt-validate.d.ts.map +1 -1
- package/dist/utils/private/jwt-verify.d.ts.map +1 -1
- package/dist/utils/private/jwt-verify.js +1 -1
- package/dist/utils/private/jwt-verify.js.map +1 -1
- package/dist/utils/private/token-header.d.ts +2 -3
- package/dist/utils/private/token-header.d.ts.map +1 -1
- package/dist/utils/private/token-header.js +32 -104
- package/dist/utils/private/token-header.js.map +1 -1
- package/dist/utils/private/validate-value.d.ts.map +1 -1
- package/dist/utils/private/validate.d.ts.map +1 -1
- package/package.json +20 -18
- package/dist/types/interfaces/aegis.d.ts +0 -22
- package/dist/types/interfaces/aegis.d.ts.map +0 -1
- package/dist/types/interfaces/aegis.js.map +0 -1
- package/dist/types/interfaces/index.d.ts +0 -5
- package/dist/types/interfaces/index.d.ts.map +0 -1
- package/dist/types/interfaces/index.js.map +0 -1
- package/dist/types/interfaces/jwe-kit.d.ts +0 -7
- package/dist/types/interfaces/jwe-kit.d.ts.map +0 -1
- package/dist/types/interfaces/jwe-kit.js.map +0 -1
- package/dist/types/interfaces/jws-kit.d.ts +0 -6
- package/dist/types/interfaces/jws-kit.d.ts.map +0 -1
- package/dist/types/interfaces/jws-kit.js.map +0 -1
- package/dist/types/interfaces/jwt-kit.d.ts +0 -8
- package/dist/types/interfaces/jwt-kit.d.ts.map +0 -1
- package/dist/types/interfaces/jwt-kit.js.map +0 -1
- package/dist/types/jws/jws-verify.d.ts.map +0 -1
- package/dist/types/jws/jws-verify.js +0 -3
- package/dist/types/jws/jws-verify.js.map +0 -1
- package/dist/utils/private/create-token-signature.d.ts +0 -9
- package/dist/utils/private/create-token-signature.d.ts.map +0 -1
- package/dist/utils/private/create-token-signature.js +0 -42
- package/dist/utils/private/create-token-signature.js.map +0 -1
- package/dist/utils/private/token-type.d.ts +0 -3
- package/dist/utils/private/token-type.d.ts.map +0 -1
- package/dist/utils/private/token-type.js +0 -11
- package/dist/utils/private/token-type.js.map +0 -1
- package/dist/utils/private/verify-token-signature.d.ts +0 -3
- package/dist/utils/private/verify-token-signature.d.ts.map +0 -1
- package/dist/utils/private/verify-token-signature.js +0 -43
- package/dist/utils/private/verify-token-signature.js.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CoseItem } from "../../../constants/private";
|
|
2
|
+
export declare const findCoseByKey: (array: Array<CoseItem>, key: any) => CoseItem | undefined;
|
|
3
|
+
export declare const findCoseByLabel: (array: Array<CoseItem>, label: any) => CoseItem | undefined;
|
|
4
|
+
export declare const findSpecificCoseKey: (kty: string) => Array<CoseItem>;
|
|
5
|
+
//# sourceMappingURL=find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/find.ts"],"names":[],"mappings":"AACA,OAAO,EAML,QAAQ,EACT,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAG,QAAQ,GAAG,SAE3E,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,OAAO,GAAG,KACT,QAAQ,GAAG,SAUb,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,KAAK,CAAC,QAAQ,CAa/D,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findSpecificCoseKey = exports.findCoseByLabel = exports.findCoseByKey = void 0;
|
|
4
|
+
const is_1 = require("@lindorm/is");
|
|
5
|
+
const private_1 = require("../../../constants/private");
|
|
6
|
+
const errors_1 = require("../../../errors");
|
|
7
|
+
const findCoseByKey = (array, key) => {
|
|
8
|
+
return array.find((i) => i.key === key);
|
|
9
|
+
};
|
|
10
|
+
exports.findCoseByKey = findCoseByKey;
|
|
11
|
+
const findCoseByLabel = (array, label) => {
|
|
12
|
+
const integer = (0, is_1.isNumber)(label)
|
|
13
|
+
? label
|
|
14
|
+
: (0, is_1.isNumberString)(label)
|
|
15
|
+
? parseInt(label, 10)
|
|
16
|
+
: undefined;
|
|
17
|
+
if (!integer)
|
|
18
|
+
return;
|
|
19
|
+
return array.find((i) => i.label === integer);
|
|
20
|
+
};
|
|
21
|
+
exports.findCoseByLabel = findCoseByLabel;
|
|
22
|
+
const findSpecificCoseKey = (kty) => {
|
|
23
|
+
switch (kty) {
|
|
24
|
+
case "EC":
|
|
25
|
+
return [...private_1.COSE_KEY, ...private_1.COSE_KEY_EC];
|
|
26
|
+
case "OKP":
|
|
27
|
+
return [...private_1.COSE_KEY, ...private_1.COSE_KEY_OKP];
|
|
28
|
+
case "RSA":
|
|
29
|
+
return [...private_1.COSE_KEY, ...private_1.COSE_KEY_RSA];
|
|
30
|
+
case "oct":
|
|
31
|
+
return [...private_1.COSE_KEY, ...private_1.COSE_KEY_OCT];
|
|
32
|
+
default:
|
|
33
|
+
throw new errors_1.AegisError(`Unsupported COSE key type: ${kty}`);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.findSpecificCoseKey = findSpecificCoseKey;
|
|
37
|
+
//# sourceMappingURL=find.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/find.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,wDAOoC;AACpC,4CAA6C;AAEtC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAE,GAAQ,EAAwB,EAAE;IACtF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,eAAe,GAAG,CAC7B,KAAsB,EACtB,KAAU,EACY,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAA,mBAAc,EAAC,KAAK,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACrB,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAmB,EAAE;IAClE,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,qBAAW,CAAC,CAAC;QACvC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC;YACE,MAAM,IAAI,mBAAU,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Dict } from "@lindorm/types";
|
|
2
|
+
import { RawTokenHeaderClaims } from "../../../types";
|
|
3
|
+
export declare const mapCoseHeader: (claims: RawTokenHeaderClaims) => Dict;
|
|
4
|
+
export declare const decodeCoseHeader: (cose: Dict) => RawTokenHeaderClaims;
|
|
5
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMtD,eAAO,MAAM,aAAa,GAAI,QAAQ,oBAAoB,KAAG,IAmD5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,oBAuC7C,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeCoseHeader = exports.mapCoseHeader = void 0;
|
|
4
|
+
const private_1 = require("../../../constants/private");
|
|
5
|
+
const errors_1 = require("../../../errors");
|
|
6
|
+
const bstr_1 = require("./bstr");
|
|
7
|
+
const crit_1 = require("./crit");
|
|
8
|
+
const find_1 = require("./find");
|
|
9
|
+
const key_1 = require("./key");
|
|
10
|
+
const mapCoseHeader = (claims) => {
|
|
11
|
+
const result = {};
|
|
12
|
+
if (claims["alg"] && claims["enc"]) {
|
|
13
|
+
throw new errors_1.AegisError("COSE header cannot contain both alg and enc");
|
|
14
|
+
}
|
|
15
|
+
for (const [key, value] of Object.entries(claims)) {
|
|
16
|
+
if (!value)
|
|
17
|
+
continue;
|
|
18
|
+
const claim = (0, find_1.findCoseByKey)(private_1.COSE_HEADER, key);
|
|
19
|
+
if (!claim) {
|
|
20
|
+
result[key] = value;
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (key === "alg") {
|
|
24
|
+
const alg = (0, find_1.findCoseByKey)(private_1.COSE_ALGORITHM, value);
|
|
25
|
+
if (!alg) {
|
|
26
|
+
throw new errors_1.AegisError(`Unsupported COSE algorithm: ${value}`);
|
|
27
|
+
}
|
|
28
|
+
result[claim.label] = alg.label;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (key === "enc") {
|
|
32
|
+
const enc = (0, find_1.findCoseByKey)(private_1.COSE_ENCRYPTION, value);
|
|
33
|
+
if (!enc) {
|
|
34
|
+
console.error("map", { key, value, claim, alg: enc });
|
|
35
|
+
throw new errors_1.AegisError(`Unsupported COSE algorithm: ${value}`);
|
|
36
|
+
}
|
|
37
|
+
result[claim.label] = enc.label;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (key === "crit") {
|
|
41
|
+
result[claim.label] = (0, crit_1.mapCoseCrit)(value);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (key === "epk" || key === "jwk") {
|
|
45
|
+
result[claim.label] = (0, key_1.mapCoseKey)(value);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
result[claim.label] = (0, bstr_1.toBstr)(claim, value);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
exports.mapCoseHeader = mapCoseHeader;
|
|
54
|
+
const decodeCoseHeader = (cose) => {
|
|
55
|
+
const result = {};
|
|
56
|
+
for (const [label, value] of Object.entries(cose)) {
|
|
57
|
+
if (!value)
|
|
58
|
+
continue;
|
|
59
|
+
const claim = (0, find_1.findCoseByLabel)(private_1.COSE_HEADER, label);
|
|
60
|
+
if (!claim) {
|
|
61
|
+
result[label] = value;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (claim.key === "alg" || claim.key === "enc") {
|
|
65
|
+
const alg = (0, find_1.findCoseByLabel)(private_1.COSE_ALGORITHM, value);
|
|
66
|
+
const enc = (0, find_1.findCoseByLabel)(private_1.COSE_ENCRYPTION, value);
|
|
67
|
+
if (!alg && !enc) {
|
|
68
|
+
throw new errors_1.AegisError(`Unsupported COSE algorithm/encryption: ${value}`);
|
|
69
|
+
}
|
|
70
|
+
const calc = alg ? "alg" : "enc";
|
|
71
|
+
result[calc] = alg?.key ?? enc?.key;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (claim.key === "crit") {
|
|
75
|
+
result[claim.key] = (0, crit_1.decodeCoseCrit)(value);
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (claim.key === "epk" || claim.key === "jwk") {
|
|
79
|
+
result[claim.key] = (0, key_1.decodeCoseKey)(value);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
result[claim.key] = (0, bstr_1.fromBstr)(claim, value);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
};
|
|
87
|
+
exports.decodeCoseHeader = decodeCoseHeader;
|
|
88
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -14,8 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./jws-kit"), exports);
|
|
20
|
-
__exportStar(require("./jwt-kit"), exports);
|
|
17
|
+
__exportStar(require("./claims"), exports);
|
|
18
|
+
__exportStar(require("./header"), exports);
|
|
21
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAMtC,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,KAAG,IA8CrC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,IAyCzC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeCoseKey = exports.mapCoseKey = void 0;
|
|
4
|
+
const is_1 = require("@lindorm/is");
|
|
5
|
+
const private_1 = require("../../../constants/private");
|
|
6
|
+
const errors_1 = require("../../../errors");
|
|
7
|
+
const bstr_1 = require("./bstr");
|
|
8
|
+
const find_1 = require("./find");
|
|
9
|
+
const mapCoseKey = (jwk) => {
|
|
10
|
+
if (!(0, is_1.isObject)(jwk)) {
|
|
11
|
+
throw new errors_1.AegisError(`Invalid COSE key: ${jwk}`);
|
|
12
|
+
}
|
|
13
|
+
const kty = jwk["kty"];
|
|
14
|
+
if (!kty) {
|
|
15
|
+
throw new errors_1.AegisError("Missing COSE key type", { debug: { jwk } });
|
|
16
|
+
}
|
|
17
|
+
const coseKey = (0, find_1.findSpecificCoseKey)(kty);
|
|
18
|
+
const result = {};
|
|
19
|
+
for (const [key, value] of Object.entries(jwk)) {
|
|
20
|
+
const claim = (0, find_1.findCoseByKey)(coseKey, key);
|
|
21
|
+
if (!claim) {
|
|
22
|
+
result[key] = value;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (key === "crv") {
|
|
26
|
+
const crv = (0, find_1.findCoseByKey)(private_1.COSE_KEY_CURVE, value);
|
|
27
|
+
if (!crv) {
|
|
28
|
+
throw new errors_1.AegisError(`Unsupported COSE key curve: ${value}`);
|
|
29
|
+
}
|
|
30
|
+
result[claim.label] = crv.label;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (key === "kty") {
|
|
34
|
+
const kty = (0, find_1.findCoseByKey)(private_1.COSE_KEY_TYPE, value);
|
|
35
|
+
if (!kty) {
|
|
36
|
+
throw new errors_1.AegisError(`Unsupported COSE key type: ${value}`);
|
|
37
|
+
}
|
|
38
|
+
result[claim?.label ?? key] = kty.label;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
result[claim.label] = (0, bstr_1.toBstr)(claim, value);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
exports.mapCoseKey = mapCoseKey;
|
|
47
|
+
const decodeCoseKey = (cose) => {
|
|
48
|
+
if (!(0, is_1.isObject)(cose)) {
|
|
49
|
+
throw new errors_1.AegisError(`Invalid COSE key: ${cose}`);
|
|
50
|
+
}
|
|
51
|
+
const result = {};
|
|
52
|
+
const kty = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_TYPE, cose[1]);
|
|
53
|
+
const coseKey = (0, find_1.findSpecificCoseKey)(kty.key);
|
|
54
|
+
for (const [label, value] of Object.entries(cose)) {
|
|
55
|
+
const claim = (0, find_1.findCoseByLabel)(coseKey, label);
|
|
56
|
+
if (!claim) {
|
|
57
|
+
result[label] = value;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (claim.key === "crv") {
|
|
61
|
+
const crv = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_CURVE, value);
|
|
62
|
+
if (!crv) {
|
|
63
|
+
throw new errors_1.AegisError(`Unsupported COSE key curve: ${value}`);
|
|
64
|
+
}
|
|
65
|
+
result[claim.key] = crv.key;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (claim.key === "kty") {
|
|
69
|
+
const kty = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_TYPE, value);
|
|
70
|
+
if (!kty) {
|
|
71
|
+
throw new errors_1.AegisError(`Unsupported COSE key type: ${value}`);
|
|
72
|
+
}
|
|
73
|
+
result[claim.key] = kty.key;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
result[claim.key] = (0, bstr_1.fromBstr)(claim, value);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
};
|
|
81
|
+
exports.decodeCoseKey = decodeCoseKey;
|
|
82
|
+
//# sourceMappingURL=key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Dict } from "@lindorm/types";
|
|
2
|
+
type SignOptions = {
|
|
3
|
+
protectedHeader: Buffer;
|
|
4
|
+
unprotectedHeader: Dict;
|
|
5
|
+
payload: Buffer;
|
|
6
|
+
signature: Buffer;
|
|
7
|
+
};
|
|
8
|
+
export declare const createCoseSignToken: (options: SignOptions) => Buffer;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cose-sign-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-sign-token.d.ts","sourceRoot":"","sources":["../../../src/utils/private/cose-sign-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,MAMvD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCoseSignToken = void 0;
|
|
4
|
+
const cbor_1 = require("cbor");
|
|
5
|
+
const createCoseSignToken = (options) => (0, cbor_1.encode)([
|
|
6
|
+
options.protectedHeader,
|
|
7
|
+
options.unprotectedHeader,
|
|
8
|
+
options.payload,
|
|
9
|
+
options.signature,
|
|
10
|
+
]);
|
|
11
|
+
exports.createCoseSignToken = createCoseSignToken;
|
|
12
|
+
//# sourceMappingURL=cose-sign-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-sign-token.js","sourceRoot":"","sources":["../../../src/utils/private/cose-sign-token.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AASvB,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAU,EAAE,CAClE,IAAA,aAAM,EAAC;IACL,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;CAClB,CAAC,CAAC;AANQ,QAAA,mBAAmB,uBAM3B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IKryptos } from "@lindorm/kryptos";
|
|
2
|
+
type CreateOptions = {
|
|
3
|
+
kryptos: IKryptos;
|
|
4
|
+
payload: Buffer;
|
|
5
|
+
protectedHeader: Buffer;
|
|
6
|
+
};
|
|
7
|
+
type VerifyOptions = {
|
|
8
|
+
kryptos: IKryptos;
|
|
9
|
+
payload: Buffer;
|
|
10
|
+
protectedHeader: Buffer;
|
|
11
|
+
signature: Buffer;
|
|
12
|
+
};
|
|
13
|
+
export declare const createCoseSignature: (options: CreateOptions) => Buffer;
|
|
14
|
+
export declare const verifyCoseSignature: (options: VerifyOptions) => boolean;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=cose-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/cose-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,eAAO,MAAM,mBAAmB,GAAI,SAAS,aAAa,KAAG,MAM5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,aAAa,KAAG,OAO5D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyCoseSignature = exports.createCoseSignature = void 0;
|
|
4
|
+
const cbor_1 = require("cbor");
|
|
5
|
+
const classes_1 = require("../../classes");
|
|
6
|
+
const encodeSignature = (options) => (0, cbor_1.encode)(["Signature1", options.protectedHeader, Buffer.alloc(0), options.payload]);
|
|
7
|
+
const createCoseSignature = (options) => {
|
|
8
|
+
const signature = encodeSignature(options);
|
|
9
|
+
return new classes_1.SignatureKit({ kryptos: options.kryptos, dsa: "ieee-p1363" }).sign(signature);
|
|
10
|
+
};
|
|
11
|
+
exports.createCoseSignature = createCoseSignature;
|
|
12
|
+
const verifyCoseSignature = (options) => {
|
|
13
|
+
const signature = encodeSignature(options);
|
|
14
|
+
return new classes_1.SignatureKit({ kryptos: options.kryptos, dsa: "ieee-p1363" }).verify(signature, options.signature);
|
|
15
|
+
};
|
|
16
|
+
exports.verifyCoseSignature = verifyCoseSignature;
|
|
17
|
+
//# sourceMappingURL=cose-signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-signature.js","sourceRoot":"","sources":["../../../src/utils/private/cose-signature.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AAC9B,2CAA6C;AAe7C,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAU,EAAE,CACzD,IAAA,aAAM,EAAC,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7E,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAU,EAAE;IACpE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC3E,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAW,EAAE;IACrE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAC7E,SAAS,EACT,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-hash.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"create-hash.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,WAAW,gBAAgB,KAAG,YAM1D,CAAC;AAgBF,eAAO,MAAM,qBAAqB,GAChC,WAAW,gBAAgB,EAC3B,MAAM,MAAM,KACX,MAA0C,CAAC;AAE9C,eAAO,MAAM,cAAc,GAAI,WAAW,gBAAgB,EAAE,MAAM,MAAM,KAAG,MACzC,CAAC;AAEnC,eAAO,MAAM,eAAe,GAAI,WAAW,gBAAgB,EAAE,MAAM,MAAM,KAAG,MAC1C,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
export * from "./cose";
|
|
2
|
+
export * from "./auth-tag-length";
|
|
3
|
+
export * from "./cose-sign-token";
|
|
4
|
+
export * from "./cose-signature";
|
|
1
5
|
export * from "./create-hash";
|
|
2
|
-
export * from "./
|
|
6
|
+
export * from "./jose-header";
|
|
7
|
+
export * from "./jose-signature";
|
|
3
8
|
export * from "./jwt-payload";
|
|
4
9
|
export * from "./jwt-validate";
|
|
5
10
|
export * from "./jwt-verify";
|
|
6
11
|
export * from "./token-header";
|
|
7
|
-
export * from "./token-type";
|
|
8
12
|
export * from "./validate";
|
|
9
13
|
export * from "./validate-value";
|
|
10
|
-
export * from "./verify-token-signature";
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AAEvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -14,14 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cose"), exports);
|
|
18
|
+
__exportStar(require("./auth-tag-length"), exports);
|
|
19
|
+
__exportStar(require("./cose-sign-token"), exports);
|
|
20
|
+
__exportStar(require("./cose-signature"), exports);
|
|
17
21
|
__exportStar(require("./create-hash"), exports);
|
|
18
|
-
__exportStar(require("./
|
|
22
|
+
__exportStar(require("./jose-header"), exports);
|
|
23
|
+
__exportStar(require("./jose-signature"), exports);
|
|
19
24
|
__exportStar(require("./jwt-payload"), exports);
|
|
20
25
|
__exportStar(require("./jwt-validate"), exports);
|
|
21
26
|
__exportStar(require("./jwt-verify"), exports);
|
|
22
27
|
__exportStar(require("./token-header"), exports);
|
|
23
|
-
__exportStar(require("./token-type"), exports);
|
|
24
28
|
__exportStar(require("./validate"), exports);
|
|
25
29
|
__exportStar(require("./validate-value"), exports);
|
|
26
|
-
__exportStar(require("./verify-token-signature"), exports);
|
|
27
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AAEvB,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DecodedTokenHeader, TokenHeaderOptions } from "../../types";
|
|
2
|
+
export declare const encodeJoseHeader: (options: TokenHeaderOptions) => string;
|
|
3
|
+
export declare const decodeJoseHeader: (header: string) => DecodedTokenHeader;
|
|
4
|
+
//# sourceMappingURL=jose-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jose-header.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jose-header.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAqB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGxF,eAAO,MAAM,gBAAgB,GAAI,SAAS,kBAAkB,KAAG,MAyB9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,kBAkBjD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeJoseHeader = exports.encodeJoseHeader = void 0;
|
|
4
|
+
const b64_1 = require("@lindorm/b64");
|
|
5
|
+
const is_1 = require("@lindorm/is");
|
|
6
|
+
const private_1 = require("../../constants/private");
|
|
7
|
+
const token_header_1 = require("./token-header");
|
|
8
|
+
const encodeJoseHeader = (options) => {
|
|
9
|
+
if (!options.algorithm) {
|
|
10
|
+
throw new Error("Algorithm is required");
|
|
11
|
+
}
|
|
12
|
+
if (!private_1.TOKEN_HEADER_ALGORITHMS.includes(options.algorithm)) {
|
|
13
|
+
throw new Error(`Invalid algorithm: ${options.algorithm}`);
|
|
14
|
+
}
|
|
15
|
+
if (!options.headerType) {
|
|
16
|
+
throw new Error("Header type is required");
|
|
17
|
+
}
|
|
18
|
+
if (!private_1.TOKEN_HEADER_TYPES.includes(options.headerType)) {
|
|
19
|
+
throw new Error(`Invalid header type: ${options.headerType}`);
|
|
20
|
+
}
|
|
21
|
+
if (!options.keyId) {
|
|
22
|
+
throw new Error("Key ID is required");
|
|
23
|
+
}
|
|
24
|
+
const claims = (0, token_header_1.mapTokenHeader)(options);
|
|
25
|
+
for (const [key, value] of Object.entries(claims)) {
|
|
26
|
+
if (!(0, is_1.isBuffer)(value))
|
|
27
|
+
continue;
|
|
28
|
+
claims[key] = b64_1.B64.encode(value);
|
|
29
|
+
}
|
|
30
|
+
return b64_1.B64.encode(JSON.stringify(claims), private_1.B64U);
|
|
31
|
+
};
|
|
32
|
+
exports.encodeJoseHeader = encodeJoseHeader;
|
|
33
|
+
const decodeJoseHeader = (header) => {
|
|
34
|
+
const string = b64_1.B64.toString(header);
|
|
35
|
+
const json = JSON.parse(string);
|
|
36
|
+
if (!json.alg) {
|
|
37
|
+
throw new Error("Missing token header: alg");
|
|
38
|
+
}
|
|
39
|
+
if (!private_1.TOKEN_HEADER_ALGORITHMS.includes(json.alg)) {
|
|
40
|
+
throw new Error(`Invalid token header: alg: ${json.alg}`);
|
|
41
|
+
}
|
|
42
|
+
if (!json.typ) {
|
|
43
|
+
throw new Error("Missing token header: typ");
|
|
44
|
+
}
|
|
45
|
+
if (!private_1.TOKEN_HEADER_TYPES.includes(json.typ)) {
|
|
46
|
+
throw new Error(`Invalid token header: typ: ${json.typ}`);
|
|
47
|
+
}
|
|
48
|
+
return json;
|
|
49
|
+
};
|
|
50
|
+
exports.decodeJoseHeader = decodeJoseHeader;
|
|
51
|
+
//# sourceMappingURL=jose-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jose-header.js","sourceRoot":"","sources":["../../../src/utils/private/jose-header.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,oCAAuC;AACvC,qDAIiC;AAEjC,iDAAgD;AAEzC,MAAM,gBAAgB,GAAG,CAAC,OAA2B,EAAU,EAAE;IACtE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,iCAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,4BAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,aAAQ,EAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,MAAc,CAAC,GAAG,CAAC,GAAG,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,SAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACrE,MAAM,MAAM,GAAG,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA+B,CAAC;IAE9D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,iCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,4BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAA0B,CAAC;AACpC,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IKryptos } from "@lindorm/kryptos";
|
|
2
|
+
type Options = {
|
|
3
|
+
header: string;
|
|
4
|
+
payload: string;
|
|
5
|
+
kryptos: IKryptos;
|
|
6
|
+
};
|
|
7
|
+
export declare const createJoseSignature: (options: Options) => string;
|
|
8
|
+
export declare const verifyJoseSignature: (kryptos: IKryptos, token: string) => boolean;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=jose-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jose-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jose-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,MAMtD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,QAAQ,EAAE,OAAO,MAAM,KAAG,OAKtE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyJoseSignature = exports.createJoseSignature = void 0;
|
|
4
|
+
const classes_1 = require("../../classes");
|
|
5
|
+
const private_1 = require("../../constants/private");
|
|
6
|
+
const createJoseSignature = (options) => {
|
|
7
|
+
const data = `${options.header}.${options.payload}`;
|
|
8
|
+
return new classes_1.SignatureKit({ kryptos: options.kryptos, raw: true })
|
|
9
|
+
.sign(data)
|
|
10
|
+
.toString(private_1.B64U);
|
|
11
|
+
};
|
|
12
|
+
exports.createJoseSignature = createJoseSignature;
|
|
13
|
+
const verifyJoseSignature = (kryptos, token) => {
|
|
14
|
+
const [header, payload, signature] = token.split(".");
|
|
15
|
+
const data = `${header}.${payload}`;
|
|
16
|
+
return new classes_1.SignatureKit({ kryptos, encoding: private_1.B64U, raw: true }).verify(data, signature);
|
|
17
|
+
};
|
|
18
|
+
exports.verifyJoseSignature = verifyJoseSignature;
|
|
19
|
+
//# sourceMappingURL=jose-signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jose-signature.js","sourceRoot":"","sources":["../../../src/utils/private/jose-signature.ts"],"names":[],"mappings":";;;AACA,2CAA6C;AAC7C,qDAA+C;AAQxC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC9D,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEpD,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC;SACV,QAAQ,CAAC,cAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAiB,EAAE,KAAa,EAAW,EAAE;IAC/E,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;IAEpC,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1F,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
|
|
@@ -5,6 +5,7 @@ type Config = {
|
|
|
5
5
|
algorithm: KryptosAlgorithm;
|
|
6
6
|
issuer: string;
|
|
7
7
|
};
|
|
8
|
+
type DecodeClaims<C extends Dict = Dict> = JwtClaims & C;
|
|
8
9
|
type Result = {
|
|
9
10
|
expiresAt: Date;
|
|
10
11
|
expiresIn: number;
|
|
@@ -12,9 +13,9 @@ type Result = {
|
|
|
12
13
|
payload: string;
|
|
13
14
|
tokenId: string;
|
|
14
15
|
};
|
|
16
|
+
export declare const mapJwtContentToClaims: <C extends Dict = Dict>(config: Config, content: SignJwtContent<C>, options: SignJwtOptions) => JwtClaims;
|
|
15
17
|
export declare const encodeJwtPayload: <C extends Dict = Dict>(config: Config, content: SignJwtContent<C>, options: SignJwtOptions) => Result;
|
|
16
|
-
type DecodeClaims<C extends Dict = Dict> = JwtClaims & C;
|
|
17
18
|
export declare const decodeJwtPayload: <C extends Dict = Dict<never>>(payload: string) => DecodeClaims<C>;
|
|
18
|
-
export declare const
|
|
19
|
+
export declare const parseTokenPayload: <C extends Dict = Dict<never>>(decoded: DecodeClaims<C>) => ParsedJwtPayload<C>;
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=jwt-payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;AAEzD,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EACzD,QAAQ,MAAM,EACd,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,SAAS,cAAc,KACtB,SAyEF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EACpD,QAAQ,MAAM,EACd,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,SAAS,cAAc,KACtB,MAUF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAC3D,SAAS,MAAM,KACd,YAAY,CAAC,CAAC,CAAyD,CAAC;AAE3E,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAC5D,SAAS,YAAY,CAAC,CAAC,CAAC,KACvB,gBAAgB,CAAC,CAAC,CA4EpB,CAAC"}
|