@lindorm/aes 0.5.5 → 0.6.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 +30 -0
- package/MERMAID.md +155 -0
- package/README.md +365 -199
- package/__tests__/INTEROP-RESULTS.md +66 -0
- package/__tests__/esm-smoke.test.ts +15 -0
- package/__tests__/fixtures/keys.ts +60 -0
- package/__tests__/helpers/buffer-utils.ts +11 -0
- package/__tests__/helpers/index.ts +2 -0
- package/__tests__/helpers/jwe-adapter.ts +117 -0
- package/__tests__/jose-jwe.test.ts +463 -0
- package/__tests__/noble-ciphers.test.ts +208 -0
- package/dist/classes/AesKit.d.ts +10 -8
- package/dist/classes/AesKit.d.ts.map +1 -1
- package/dist/classes/AesKit.js +73 -34
- package/dist/classes/AesKit.js.map +1 -1
- package/dist/constants/private/index.d.ts +0 -1
- package/dist/constants/private/index.d.ts.map +1 -1
- package/dist/constants/private/index.js +0 -1
- package/dist/constants/private/index.js.map +1 -1
- package/dist/constants/private/version.d.ts +3 -1
- package/dist/constants/private/version.d.ts.map +1 -1
- package/dist/constants/private/version.js +4 -2
- package/dist/constants/private/version.js.map +1 -1
- package/dist/interfaces/AesKit.d.ts +12 -7
- package/dist/interfaces/AesKit.d.ts.map +1 -1
- package/dist/mocks/mock-aes-kit.d.ts.map +1 -1
- package/dist/mocks/mock-aes-kit.js +12 -2
- package/dist/mocks/mock-aes-kit.js.map +1 -1
- package/dist/types/aes-decryption-data.d.ts +26 -17
- package/dist/types/aes-decryption-data.d.ts.map +1 -1
- package/dist/types/aes-encryption-data.d.ts +7 -17
- package/dist/types/aes-encryption-data.d.ts.map +1 -1
- package/dist/types/content.d.ts +1 -1
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/private/aes-data.d.ts.map +1 -1
- package/dist/types/private/aes-key-derivation.d.ts +1 -1
- package/dist/types/private/aes-key-derivation.d.ts.map +1 -1
- package/dist/types/private/auth-tag.d.ts +3 -0
- package/dist/types/private/auth-tag.d.ts.map +1 -1
- package/dist/types/private/content-encryption-key.d.ts +4 -2
- package/dist/types/private/content-encryption-key.d.ts.map +1 -1
- package/dist/types/private/index.d.ts +1 -1
- package/dist/types/private/index.d.ts.map +1 -1
- package/dist/types/private/index.js +1 -1
- package/dist/types/private/index.js.map +1 -1
- package/dist/types/private/prepared-encryption.d.ts +35 -0
- package/dist/types/private/prepared-encryption.d.ts.map +1 -0
- package/dist/types/private/{aes-string.js → prepared-encryption.js} +1 -1
- package/dist/types/private/prepared-encryption.js.map +1 -0
- package/dist/utils/is-aes.d.ts.map +1 -1
- package/dist/utils/is-aes.js +1 -5
- package/dist/utils/is-aes.js.map +1 -1
- package/dist/utils/parse-aes.js +3 -3
- package/dist/utils/parse-aes.js.map +1 -1
- package/dist/utils/private/aes-header.d.ts +42 -0
- package/dist/utils/private/aes-header.d.ts.map +1 -0
- package/dist/utils/private/aes-header.js +75 -0
- package/dist/utils/private/aes-header.js.map +1 -0
- package/dist/utils/private/calculate/calculate-content-encryption-key-size.js +3 -3
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.d.ts.map +1 -1
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.js +2 -1
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.js.map +1 -1
- package/dist/utils/private/content.js +1 -1
- package/dist/utils/private/content.js.map +1 -1
- package/dist/utils/private/data/auth-tag-hmac.d.ts +2 -2
- package/dist/utils/private/data/auth-tag-hmac.d.ts.map +1 -1
- package/dist/utils/private/data/auth-tag-hmac.js +12 -4
- package/dist/utils/private/data/auth-tag-hmac.js.map +1 -1
- package/dist/utils/private/data/auth-tag.d.ts +2 -2
- package/dist/utils/private/data/auth-tag.d.ts.map +1 -1
- package/dist/utils/private/data/auth-tag.js +4 -2
- package/dist/utils/private/data/auth-tag.js.map +1 -1
- package/dist/utils/private/data/split-content-encryption-key.d.ts.map +1 -1
- package/dist/utils/private/data/split-content-encryption-key.js +6 -2
- package/dist/utils/private/data/split-content-encryption-key.js.map +1 -1
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.d.ts +2 -2
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.d.ts.map +1 -1
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.js +12 -8
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.js.map +1 -1
- package/dist/utils/private/diffie-hellman/diffie-hellman.d.ts +2 -2
- package/dist/utils/private/diffie-hellman/diffie-hellman.d.ts.map +1 -1
- package/dist/utils/private/diffie-hellman/diffie-hellman.js +12 -8
- package/dist/utils/private/diffie-hellman/diffie-hellman.js.map +1 -1
- package/dist/utils/private/diffie-hellman/shared-secret.d.ts.map +1 -1
- package/dist/utils/private/diffie-hellman/shared-secret.js +5 -1
- package/dist/utils/private/diffie-hellman/shared-secret.js.map +1 -1
- package/dist/utils/private/encoded-aes.d.ts +2 -2
- package/dist/utils/private/encoded-aes.d.ts.map +1 -1
- package/dist/utils/private/encoded-aes.js +86 -149
- package/dist/utils/private/encoded-aes.js.map +1 -1
- package/dist/utils/private/encrypt-content.d.ts +3 -0
- package/dist/utils/private/encrypt-content.d.ts.map +1 -0
- package/dist/utils/private/encrypt-content.js +35 -0
- package/dist/utils/private/encrypt-content.js.map +1 -0
- package/dist/utils/private/encrypt-encoded.d.ts +9 -0
- package/dist/utils/private/encrypt-encoded.d.ts.map +1 -0
- package/dist/utils/private/encrypt-encoded.js +53 -0
- package/dist/utils/private/encrypt-encoded.js.map +1 -0
- package/dist/utils/private/encrypt-serialised.d.ts +9 -0
- package/dist/utils/private/encrypt-serialised.d.ts.map +1 -0
- package/dist/utils/private/encrypt-serialised.js +48 -0
- package/dist/utils/private/encrypt-serialised.js.map +1 -0
- package/dist/utils/private/encrypt-tokenised.d.ts +9 -0
- package/dist/utils/private/encrypt-tokenised.d.ts.map +1 -0
- package/dist/utils/private/encrypt-tokenised.js +45 -0
- package/dist/utils/private/encrypt-tokenised.js.map +1 -0
- package/dist/utils/private/encryption.d.ts.map +1 -1
- package/dist/utils/private/encryption.js +27 -27
- package/dist/utils/private/encryption.js.map +1 -1
- package/dist/utils/private/index.d.ts +6 -0
- package/dist/utils/private/index.d.ts.map +1 -1
- package/dist/utils/private/index.js +6 -0
- package/dist/utils/private/index.js.map +1 -1
- package/dist/utils/private/key-derivation/concat-kdf.d.ts +14 -0
- package/dist/utils/private/key-derivation/concat-kdf.d.ts.map +1 -0
- package/dist/utils/private/key-derivation/concat-kdf.js +26 -0
- package/dist/utils/private/key-derivation/concat-kdf.js.map +1 -0
- package/dist/utils/private/key-derivation/index.d.ts +1 -1
- package/dist/utils/private/key-derivation/index.d.ts.map +1 -1
- package/dist/utils/private/key-derivation/index.js +1 -1
- package/dist/utils/private/key-derivation/index.js.map +1 -1
- package/dist/utils/private/key-derivation/pbkdf.d.ts +1 -0
- package/dist/utils/private/key-derivation/pbkdf.d.ts.map +1 -1
- package/dist/utils/private/key-derivation/pbkdf.js +13 -2
- package/dist/utils/private/key-derivation/pbkdf.js.map +1 -1
- package/dist/utils/private/key-wrap/ecb-key-wrap.d.ts.map +1 -1
- package/dist/utils/private/key-wrap/ecb-key-wrap.js +10 -3
- package/dist/utils/private/key-wrap/ecb-key-wrap.js.map +1 -1
- package/dist/utils/private/key-wrap/gcm-key-wrap.d.ts.map +1 -1
- package/dist/utils/private/key-wrap/gcm-key-wrap.js +6 -0
- package/dist/utils/private/key-wrap/gcm-key-wrap.js.map +1 -1
- package/dist/utils/private/oct/get-oct-key-key-wrap.d.ts +1 -1
- package/dist/utils/private/oct/get-oct-key-key-wrap.d.ts.map +1 -1
- package/dist/utils/private/oct/get-oct-key-key-wrap.js +7 -14
- package/dist/utils/private/oct/get-oct-key-key-wrap.js.map +1 -1
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.d.ts.map +1 -1
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.js +2 -0
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.js.map +1 -1
- package/dist/utils/private/prepare-encryption.d.ts +3 -0
- package/dist/utils/private/prepare-encryption.d.ts.map +1 -0
- package/dist/utils/private/prepare-encryption.js +27 -0
- package/dist/utils/private/prepare-encryption.js.map +1 -0
- package/dist/utils/private/serialised-aes.d.ts.map +1 -1
- package/dist/utils/private/serialised-aes.js +38 -46
- package/dist/utils/private/serialised-aes.js.map +1 -1
- package/dist/utils/private/tokenised-aes.d.ts +3 -3
- package/dist/utils/private/tokenised-aes.d.ts.map +1 -1
- package/dist/utils/private/tokenised-aes.js +73 -55
- package/dist/utils/private/tokenised-aes.js.map +1 -1
- package/dist/utils/private/validate-version.d.ts +2 -0
- package/dist/utils/private/validate-version.d.ts.map +1 -0
- package/dist/utils/private/validate-version.js +27 -0
- package/dist/utils/private/validate-version.js.map +1 -0
- package/jest.config.interop.mjs +24 -0
- package/package.json +18 -16
- package/tsconfig.interop.json +9 -0
- package/dist/constants/private/format.d.ts +0 -2
- package/dist/constants/private/format.d.ts.map +0 -1
- package/dist/constants/private/format.js +0 -5
- package/dist/constants/private/format.js.map +0 -1
- package/dist/types/private/aes-string.d.ts +0 -21
- package/dist/types/private/aes-string.d.ts.map +0 -1
- package/dist/types/private/aes-string.js.map +0 -1
- package/dist/utils/private/key-derivation/hkdf.d.ts +0 -13
- package/dist/utils/private/key-derivation/hkdf.d.ts.map +0 -1
- package/dist/utils/private/key-derivation/hkdf.js +0 -12
- package/dist/utils/private/key-derivation/hkdf.js.map +0 -1
package/dist/utils/is-aes.js
CHANGED
|
@@ -6,10 +6,6 @@ const isAesBufferData = (data) => Object.values(data).some((x) => (0, is_1.isBuf
|
|
|
6
6
|
exports.isAesBufferData = isAesBufferData;
|
|
7
7
|
const isAesSerialisedData = (options) => Object.values(options).every((x) => !(0, is_1.isBuffer)(x));
|
|
8
8
|
exports.isAesSerialisedData = isAesSerialisedData;
|
|
9
|
-
const isAesTokenised = (string) => (0, is_1.isString)(string) &&
|
|
10
|
-
string.startsWith("$") &&
|
|
11
|
-
string.endsWith("$") &&
|
|
12
|
-
string.includes("v=") &&
|
|
13
|
-
string.includes("alg=");
|
|
9
|
+
const isAesTokenised = (string) => (0, is_1.isString)(string) && string.startsWith("aes:");
|
|
14
10
|
exports.isAesTokenised = isAesTokenised;
|
|
15
11
|
//# sourceMappingURL=is-aes.js.map
|
package/dist/utils/is-aes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-aes.js","sourceRoot":"","sources":["../../src/utils/is-aes.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAG1C,MAAM,eAAe,GAAG,CAC7B,IAAmD,EACtB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;AAFlE,QAAA,eAAe,mBAEmD;AAExE,MAAM,mBAAmB,GAAG,CACjC,OAAsD,EAClB,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;AAHvC,QAAA,mBAAmB,uBAGoB;AAE7C,MAAM,cAAc,GAAG,CAAC,MAAc,EAAW,EAAE,CACxD,IAAA,aAAQ,EAAC,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"is-aes.js","sourceRoot":"","sources":["../../src/utils/is-aes.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAG1C,MAAM,eAAe,GAAG,CAC7B,IAAmD,EACtB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;AAFlE,QAAA,eAAe,mBAEmD;AAExE,MAAM,mBAAmB,GAAG,CACjC,OAAsD,EAClB,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;AAHvC,QAAA,mBAAmB,uBAGoB;AAE7C,MAAM,cAAc,GAAG,CAAC,MAAc,EAAW,EAAE,CACxD,IAAA,aAAQ,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AADnC,QAAA,cAAc,kBACqB"}
|
package/dist/utils/parse-aes.js
CHANGED
|
@@ -6,12 +6,12 @@ const errors_1 = require("../errors");
|
|
|
6
6
|
const is_aes_1 = require("./is-aes");
|
|
7
7
|
const private_1 = require("./private");
|
|
8
8
|
const parseAes = (data) => {
|
|
9
|
-
if ((0, is_1.isString)(data) && !(0, is_aes_1.isAesTokenised)(data)) {
|
|
10
|
-
return (0, private_1.parseEncodedAesString)(data);
|
|
11
|
-
}
|
|
12
9
|
if ((0, is_1.isString)(data) && (0, is_aes_1.isAesTokenised)(data)) {
|
|
13
10
|
return (0, private_1.parseTokenisedAesString)(data);
|
|
14
11
|
}
|
|
12
|
+
if ((0, is_1.isString)(data) && !(0, is_aes_1.isAesTokenised)(data)) {
|
|
13
|
+
return (0, private_1.parseEncodedAesString)(data);
|
|
14
|
+
}
|
|
15
15
|
if ((0, is_1.isObject)(data) && (0, is_aes_1.isAesBufferData)(data)) {
|
|
16
16
|
return data;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-aes.js","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AACjD,sCAAqC;AAErC,qCAAgF;AAChF,uCAImB;AAEZ,MAAM,QAAQ,GAAG,CACtB,IAA4D,EACvC,EAAE;IACvB,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"parse-aes.js","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AACjD,sCAAqC;AAErC,qCAAgF;AAChF,uCAImB;AAEZ,MAAM,QAAQ,GAAG,CACtB,IAA4D,EACvC,EAAE;IACvB,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,uBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAA,iCAAuB,EAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,uBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAA,+BAAqB,EAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,IAAA,kCAAwB,EAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,iBAAQ,CAAC,kBAAkB,CAAC,CAAC;AACzC,CAAC,CAAC;AApBW,QAAA,QAAQ,YAoBnB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { KryptosAlgorithm, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
+
import { AesContentType, PublicEncryptionJwk } from "../../types";
|
|
3
|
+
export type AesHeaderInput = {
|
|
4
|
+
algorithm: KryptosAlgorithm;
|
|
5
|
+
contentType: AesContentType;
|
|
6
|
+
encryption: KryptosEncryption;
|
|
7
|
+
keyId: string;
|
|
8
|
+
pbkdfIterations?: number;
|
|
9
|
+
pbkdfSalt?: Buffer;
|
|
10
|
+
publicEncryptionIv?: Buffer;
|
|
11
|
+
publicEncryptionJwk?: PublicEncryptionJwk;
|
|
12
|
+
publicEncryptionTag?: Buffer;
|
|
13
|
+
};
|
|
14
|
+
export type AesHeader = {
|
|
15
|
+
alg: KryptosAlgorithm;
|
|
16
|
+
cty: AesContentType;
|
|
17
|
+
enc: KryptosEncryption;
|
|
18
|
+
epk?: PublicEncryptionJwk;
|
|
19
|
+
iv?: string;
|
|
20
|
+
kid: string;
|
|
21
|
+
p2c?: number;
|
|
22
|
+
p2s?: string;
|
|
23
|
+
tag?: string;
|
|
24
|
+
v: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const buildAesHeader: (options: AesHeaderInput) => AesHeader;
|
|
27
|
+
export declare const encodeAesHeader: (header: AesHeader) => string;
|
|
28
|
+
export declare const decodeAesHeader: (headerB64: string) => AesHeader;
|
|
29
|
+
export declare const computeAad: (headerB64: string) => Buffer;
|
|
30
|
+
export declare const headerToDecryptionParams: (header: AesHeader) => {
|
|
31
|
+
algorithm: KryptosAlgorithm;
|
|
32
|
+
contentType: AesContentType;
|
|
33
|
+
encryption: KryptosEncryption;
|
|
34
|
+
keyId: string;
|
|
35
|
+
pbkdfIterations: number | undefined;
|
|
36
|
+
pbkdfSalt: Buffer | undefined;
|
|
37
|
+
publicEncryptionIv: Buffer | undefined;
|
|
38
|
+
publicEncryptionJwk: PublicEncryptionJwk | undefined;
|
|
39
|
+
publicEncryptionTag: Buffer | undefined;
|
|
40
|
+
version: string;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=aes-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aes-header.d.ts","sourceRoot":"","sources":["../../../src/utils/private/aes-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,gBAAgB,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAYF,eAAO,MAAM,cAAc,GAAI,SAAS,cAAc,KAAG,SAgBrD,CAAC;AAEL,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG,MAGnD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,SAoBnD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,KAAG,MAAyC,CAAC;AAEzF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,SAAS,KAChB;IACD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACrD,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CAYhB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.headerToDecryptionParams = exports.computeAad = exports.decodeAesHeader = exports.encodeAesHeader = exports.buildAesHeader = void 0;
|
|
4
|
+
const b64_1 = require("@lindorm/b64");
|
|
5
|
+
const private_1 = require("../../constants/private");
|
|
6
|
+
const errors_1 = require("../../errors");
|
|
7
|
+
const validate_version_1 = require("./validate-version");
|
|
8
|
+
const sortKeys = (obj) => {
|
|
9
|
+
const sorted = {};
|
|
10
|
+
for (const key of Object.keys(obj).sort()) {
|
|
11
|
+
if (obj[key] !== undefined) {
|
|
12
|
+
sorted[key] = obj[key];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return sorted;
|
|
16
|
+
};
|
|
17
|
+
const buildAesHeader = (options) => sortKeys({
|
|
18
|
+
alg: options.algorithm,
|
|
19
|
+
cty: options.contentType,
|
|
20
|
+
enc: options.encryption,
|
|
21
|
+
epk: options.publicEncryptionJwk,
|
|
22
|
+
iv: options.publicEncryptionIv
|
|
23
|
+
? b64_1.B64.encode(options.publicEncryptionIv, "b64u")
|
|
24
|
+
: undefined,
|
|
25
|
+
kid: options.keyId,
|
|
26
|
+
p2c: options.pbkdfIterations,
|
|
27
|
+
p2s: options.pbkdfSalt ? b64_1.B64.encode(options.pbkdfSalt, "b64u") : undefined,
|
|
28
|
+
tag: options.publicEncryptionTag
|
|
29
|
+
? b64_1.B64.encode(options.publicEncryptionTag, "b64u")
|
|
30
|
+
: undefined,
|
|
31
|
+
v: private_1.AES_FORMAT_VERSION,
|
|
32
|
+
});
|
|
33
|
+
exports.buildAesHeader = buildAesHeader;
|
|
34
|
+
const encodeAesHeader = (header) => {
|
|
35
|
+
const json = JSON.stringify(header);
|
|
36
|
+
return b64_1.B64.encode(Buffer.from(json, "utf8"), "b64u");
|
|
37
|
+
};
|
|
38
|
+
exports.encodeAesHeader = encodeAesHeader;
|
|
39
|
+
const decodeAesHeader = (headerB64) => {
|
|
40
|
+
try {
|
|
41
|
+
const json = b64_1.B64.toBuffer(headerB64, "b64u").toString("utf8");
|
|
42
|
+
const parsed = JSON.parse(json);
|
|
43
|
+
if (!parsed.alg || !parsed.enc || !parsed.v) {
|
|
44
|
+
throw new errors_1.AesError("Invalid AES header: missing required fields", {
|
|
45
|
+
debug: { parsed },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
(0, validate_version_1.validateAesVersion)(parsed.v);
|
|
49
|
+
return parsed;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error instanceof errors_1.AesError)
|
|
53
|
+
throw error;
|
|
54
|
+
throw new errors_1.AesError("Failed to decode AES header", {
|
|
55
|
+
error: error,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.decodeAesHeader = decodeAesHeader;
|
|
60
|
+
const computeAad = (headerB64) => Buffer.from(headerB64, "ascii");
|
|
61
|
+
exports.computeAad = computeAad;
|
|
62
|
+
const headerToDecryptionParams = (header) => ({
|
|
63
|
+
algorithm: header.alg,
|
|
64
|
+
contentType: header.cty,
|
|
65
|
+
encryption: header.enc,
|
|
66
|
+
keyId: header.kid,
|
|
67
|
+
pbkdfIterations: header.p2c,
|
|
68
|
+
pbkdfSalt: header.p2s ? b64_1.B64.toBuffer(header.p2s, "b64u") : undefined,
|
|
69
|
+
publicEncryptionIv: header.iv ? b64_1.B64.toBuffer(header.iv, "b64u") : undefined,
|
|
70
|
+
publicEncryptionJwk: header.epk,
|
|
71
|
+
publicEncryptionTag: header.tag ? b64_1.B64.toBuffer(header.tag, "b64u") : undefined,
|
|
72
|
+
version: header.v,
|
|
73
|
+
});
|
|
74
|
+
exports.headerToDecryptionParams = headerToDecryptionParams;
|
|
75
|
+
//# sourceMappingURL=aes-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aes-header.js","sourceRoot":"","sources":["../../../src/utils/private/aes-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,11 @@ const calculateContentEncryptionKeySize = (encryption) => {
|
|
|
14
14
|
case "A256GCM":
|
|
15
15
|
return 32;
|
|
16
16
|
case "A128CBC-HS256":
|
|
17
|
-
return
|
|
17
|
+
return 32;
|
|
18
18
|
case "A192CBC-HS384":
|
|
19
|
-
return
|
|
19
|
+
return 48;
|
|
20
20
|
case "A256CBC-HS512":
|
|
21
|
-
return
|
|
21
|
+
return 64;
|
|
22
22
|
default:
|
|
23
23
|
throw new errors_1.AesError("Unsupported encryption", { debug: { encryption } });
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-key-wrap-encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"calculate-key-wrap-encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,KAAK,iBAAiB,GAClB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,eAAO,MAAM,0BAA0B,GAAI,SAAS,QAAQ,KAAG,iBAgC9D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.calculateKeyWrapEncryption = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
4
5
|
const calculateKeyWrapEncryption = (kryptos) => {
|
|
5
6
|
switch (kryptos.algorithm) {
|
|
6
7
|
case "A128KW":
|
|
@@ -25,7 +26,7 @@ const calculateKeyWrapEncryption = (kryptos) => {
|
|
|
25
26
|
case "ECDH-ES+A256GCMKW":
|
|
26
27
|
return "aes-256-gcm";
|
|
27
28
|
default:
|
|
28
|
-
throw new
|
|
29
|
+
throw new errors_1.AesError("Unsupported keywrap encryption");
|
|
29
30
|
}
|
|
30
31
|
};
|
|
31
32
|
exports.calculateKeyWrapEncryption = calculateKeyWrapEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-key-wrap-encryption.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-encryption.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"calculate-key-wrap-encryption.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-encryption.ts"],"names":[],"mappings":";;;AACA,4CAA2C;AAUpC,MAAM,0BAA0B,GAAG,CAAC,OAAiB,EAAqB,EAAE;IACjF,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,aAAa,CAAC;QAEvB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,aAAa,CAAC;QAEvB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,aAAa,CAAC;QAEvB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB;YACE,MAAM,IAAI,iBAAQ,CAAC,gCAAgC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,0BAA0B,8BAgCrC"}
|
|
@@ -10,7 +10,7 @@ const calculateContentType = (content) => {
|
|
|
10
10
|
if ((0, is_1.isBuffer)(content)) {
|
|
11
11
|
return "application/octet-stream";
|
|
12
12
|
}
|
|
13
|
-
if ((0, is_1.isArray)(content) || (0, is_1.isNumber)(content) || (0, is_1.isObject)(content)) {
|
|
13
|
+
if ((0, is_1.isArray)(content) || (0, is_1.isBoolean)(content) || (0, is_1.isNumber)(content) || (0, is_1.isObject)(content)) {
|
|
14
14
|
return "application/json";
|
|
15
15
|
}
|
|
16
16
|
throw new errors_1.AesError("Invalid content type", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/utils/private/content.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/utils/private/content.ts"],"names":[],"mappings":";;;AAAA,oCAAyF;AACzF,yCAAwC;AAGjC,MAAM,oBAAoB,GAAG,CAAC,OAAY,EAAkB,EAAE;IACnE,IAAI,IAAA,aAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,IAAA,aAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,IAAI,IAAA,YAAO,EAAC,OAAO,CAAC,IAAI,IAAA,cAAS,EAAC,OAAO,CAAC,IAAI,IAAA,aAAQ,EAAC,OAAO,CAAC,IAAI,IAAA,aAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACrF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,EAAE;QACzC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,OAAO,EAAE;KACzC,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B;AAEK,MAAM,eAAe,GAAG,CAAC,OAAY,EAAE,WAA2B,EAAU,EAAE;IACnF,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,kBAAkB;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAEtD,KAAK,0BAA0B;YAC7B,OAAO,OAAO,CAAC;QAEjB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtC;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,EAAE;gBACzC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,OAAO,EAAE;aACzC,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B;AAEK,MAAM,YAAY,GAAG,CAC1B,OAAe,EACf,cAA8B,YAAY,EACvC,EAAE;IACL,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,kBAAkB;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAM,CAAC;QAEnD,KAAK,0BAA0B;YAC7B,OAAO,OAAY,CAAC;QAEtB,KAAK,YAAY;YACf,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM,CAAC;QAEvC;YACE,MAAM,IAAI,iBAAQ,CAAC,yBAAyB,EAAE;gBAC5C,KAAK,EAAE,EAAE,WAAW,EAAE;aACvB,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAnBW,QAAA,YAAY,gBAmBvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CreateHmacAuthTag, VerifyHmacAuthTag } from "../../../types/private";
|
|
2
|
-
export declare const createHmacAuthTag: ({ content, hashKey, initialisationVector, encryption, }: CreateHmacAuthTag) => Buffer;
|
|
3
|
-
export declare const assertHmacAuthTag: ({ authTag, content, encryption, hashKey, initialisationVector, }: VerifyHmacAuthTag) => void;
|
|
2
|
+
export declare const createHmacAuthTag: ({ aad, content, hashKey, initialisationVector, encryption, }: CreateHmacAuthTag) => Buffer;
|
|
3
|
+
export declare const assertHmacAuthTag: ({ aad, authTag, content, encryption, hashKey, initialisationVector, }: VerifyHmacAuthTag) => void;
|
|
4
4
|
//# sourceMappingURL=auth-tag-hmac.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-tag-hmac.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag-hmac.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAkB9E,eAAO,MAAM,iBAAiB,GAAI,
|
|
1
|
+
{"version":3,"file":"auth-tag-hmac.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag-hmac.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAkB9E,eAAO,MAAM,iBAAiB,GAAI,8DAM/B,iBAAiB,KAAG,MAiBtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,uEAO/B,iBAAiB,KAAG,IAYtB,CAAC"}
|
|
@@ -15,21 +15,29 @@ const shaHash = (encryption) => {
|
|
|
15
15
|
throw new errors_1.AesError("Unexpected algorithm");
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
const createHmacAuthTag = ({ content, hashKey, initialisationVector, encryption, }) => {
|
|
18
|
+
const createHmacAuthTag = ({ aad, content, hashKey, initialisationVector, encryption, }) => {
|
|
19
19
|
const hmac = (0, crypto_1.createHmac)(shaHash(encryption), hashKey);
|
|
20
|
+
if (aad) {
|
|
21
|
+
hmac.update(aad);
|
|
22
|
+
}
|
|
20
23
|
hmac.update(initialisationVector);
|
|
21
24
|
hmac.update(content);
|
|
22
|
-
|
|
25
|
+
const al = Buffer.alloc(8);
|
|
26
|
+
al.writeBigUInt64BE(BigInt((aad?.length ?? 0) * 8));
|
|
27
|
+
hmac.update(al);
|
|
28
|
+
const fullTag = hmac.digest();
|
|
29
|
+
return fullTag.subarray(0, fullTag.length / 2);
|
|
23
30
|
};
|
|
24
31
|
exports.createHmacAuthTag = createHmacAuthTag;
|
|
25
|
-
const assertHmacAuthTag = ({ authTag, content, encryption, hashKey, initialisationVector, }) => {
|
|
32
|
+
const assertHmacAuthTag = ({ aad, authTag, content, encryption, hashKey, initialisationVector, }) => {
|
|
26
33
|
const generated = (0, exports.createHmacAuthTag)({
|
|
34
|
+
aad,
|
|
27
35
|
content,
|
|
28
36
|
encryption,
|
|
29
37
|
hashKey,
|
|
30
38
|
initialisationVector,
|
|
31
39
|
});
|
|
32
|
-
if (
|
|
40
|
+
if (generated.length === authTag.length && (0, crypto_1.timingSafeEqual)(generated, authTag))
|
|
33
41
|
return;
|
|
34
42
|
throw new errors_1.AesError("Auth tag verification failed");
|
|
35
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-tag-hmac.js","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag-hmac.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"auth-tag-hmac.js","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag-hmac.ts"],"names":[],"mappings":";;;AAEA,mCAAqD;AACrD,4CAA2C;AAG3C,MAAM,OAAO,GAAG,CAAC,UAA6B,EAAgB,EAAE;IAC9D,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,GAAG,EACH,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,UAAU,GACQ,EAAU,EAAE;IAC9B,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAKtD,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,GAAG,EACH,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,EACP,oBAAoB,GACF,EAAQ,EAAE;IAC5B,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC;QAClC,GAAG;QACH,OAAO;QACP,UAAU;QACV,OAAO;QACP,oBAAoB;KACrB,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAA,wBAAe,EAAC,SAAS,EAAE,OAAO,CAAC;QAAE,OAAO;IAEvF,MAAM,IAAI,iBAAQ,CAAC,8BAA8B,CAAC,CAAC;AACrD,CAAC,CAAC;AAnBW,QAAA,iBAAiB,qBAmB5B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { GetAuthTagOptions, SetAuthTagOptions } from "../../../types/private";
|
|
2
|
-
export declare const createAuthTag: ({ encryption, cipher, content, hashKey, initialisationVector, }: GetAuthTagOptions) => Buffer;
|
|
3
|
-
export declare const assertAuthTag: ({ authTag, content, hashKey, decipher, encryption, initialisationVector, }: SetAuthTagOptions) => void;
|
|
2
|
+
export declare const createAuthTag: ({ aad, encryption, cipher, content, hashKey, initialisationVector, }: GetAuthTagOptions) => Buffer;
|
|
3
|
+
export declare const assertAuthTag: ({ aad, authTag, content, hashKey, decipher, encryption, initialisationVector, }: SetAuthTagOptions) => void;
|
|
4
4
|
//# sourceMappingURL=auth-tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-tag.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,eAAO,MAAM,aAAa,GAAI,
|
|
1
|
+
{"version":3,"file":"auth-tag.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,eAAO,MAAM,aAAa,GAAI,sEAO3B,iBAAiB,KAAG,MAqBtB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,iFAQ3B,iBAAiB,KAAG,IA4BtB,CAAC"}
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.assertAuthTag = exports.createAuthTag = void 0;
|
|
4
4
|
const errors_1 = require("../../../errors");
|
|
5
5
|
const auth_tag_hmac_1 = require("./auth-tag-hmac");
|
|
6
|
-
const createAuthTag = ({ encryption, cipher, content, hashKey, initialisationVector, }) => {
|
|
6
|
+
const createAuthTag = ({ aad, encryption, cipher, content, hashKey, initialisationVector, }) => {
|
|
7
7
|
switch (encryption) {
|
|
8
8
|
case "A128CBC-HS256":
|
|
9
9
|
case "A192CBC-HS384":
|
|
10
10
|
case "A256CBC-HS512":
|
|
11
11
|
return (0, auth_tag_hmac_1.createHmacAuthTag)({
|
|
12
|
+
aad,
|
|
12
13
|
content,
|
|
13
14
|
encryption,
|
|
14
15
|
hashKey,
|
|
@@ -23,7 +24,7 @@ const createAuthTag = ({ encryption, cipher, content, hashKey, initialisationVec
|
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
exports.createAuthTag = createAuthTag;
|
|
26
|
-
const assertAuthTag = ({ authTag, content, hashKey, decipher, encryption, initialisationVector, }) => {
|
|
27
|
+
const assertAuthTag = ({ aad, authTag, content, hashKey, decipher, encryption, initialisationVector, }) => {
|
|
27
28
|
if (!authTag) {
|
|
28
29
|
throw new errors_1.AesError("Auth tag is missing");
|
|
29
30
|
}
|
|
@@ -32,6 +33,7 @@ const assertAuthTag = ({ authTag, content, hashKey, decipher, encryption, initia
|
|
|
32
33
|
case "A192CBC-HS384":
|
|
33
34
|
case "A256CBC-HS512":
|
|
34
35
|
(0, auth_tag_hmac_1.assertHmacAuthTag)({
|
|
36
|
+
aad,
|
|
35
37
|
authTag,
|
|
36
38
|
content,
|
|
37
39
|
encryption,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-tag.js","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag.ts"],"names":[],"mappings":";;;AACA,4CAA2C;AAE3C,mDAAuE;AAEhE,MAAM,aAAa,GAAG,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,oBAAoB,GACF,EAAU,EAAE;IAC9B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,IAAA,iCAAiB,EAAC;gBACvB,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,oBAAoB;aACrB,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAQ,MAAoB,CAAC,UAAU,EAAE,CAAC;QAE5C;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-tag.js","sourceRoot":"","sources":["../../../../src/utils/private/data/auth-tag.ts"],"names":[],"mappings":";;;AACA,4CAA2C;AAE3C,mDAAuE;AAEhE,MAAM,aAAa,GAAG,CAAC,EAC5B,GAAG,EACH,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,oBAAoB,GACF,EAAU,EAAE;IAC9B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,IAAA,iCAAiB,EAAC;gBACvB,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,oBAAoB;aACrB,CAAC,CAAC;QAEL,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAQ,MAAoB,CAAC,UAAU,EAAE,CAAC;QAE5C;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AA5BW,QAAA,aAAa,iBA4BxB;AAEK,MAAM,aAAa,GAAG,CAAC,EAC5B,GAAG,EACH,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,UAAU,EACV,oBAAoB,GACF,EAAQ,EAAE;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,IAAA,iCAAiB,EAAC;gBAChB,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,oBAAoB;aACrB,CAAC,CAAC;YACH,OAAO;QAET,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACX,QAAwB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO;QAET;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,aAAa,iBAoCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-content-encryption-key.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/split-content-encryption-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,KAAK,MAAM,GAAG;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqBF,eAAO,MAAM,yBAAyB,GACpC,YAAY,iBAAiB,EAC7B,sBAAsB,MAAM,KAC3B,
|
|
1
|
+
{"version":3,"file":"split-content-encryption-key.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/data/split-content-encryption-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,KAAK,MAAM,GAAG;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqBF,eAAO,MAAM,yBAAyB,GACpC,YAAY,iBAAiB,EAC7B,sBAAsB,MAAM,KAC3B,MAmBF,CAAC"}
|
|
@@ -19,10 +19,14 @@ const encryptionKeyLength = (encryption) => {
|
|
|
19
19
|
};
|
|
20
20
|
const splitContentEncryptionKey = (encryption, contentEncryptionKey) => {
|
|
21
21
|
const keyLength = encryptionKeyLength(encryption);
|
|
22
|
+
if (encryption.includes("CBC")) {
|
|
23
|
+
const hashKey = contentEncryptionKey.subarray(0, keyLength);
|
|
24
|
+
const encryptionKey = contentEncryptionKey.subarray(keyLength);
|
|
25
|
+
return { encryptionKey, hashKey };
|
|
26
|
+
}
|
|
22
27
|
const encryptionKey = contentEncryptionKey.subarray(0, keyLength);
|
|
23
28
|
const hashKey = contentEncryptionKey.subarray(keyLength);
|
|
24
|
-
if (hashKey.length
|
|
25
|
-
(encryption === "A128GCM" || encryption === "A192GCM" || encryption === "A256GCM")) {
|
|
29
|
+
if (hashKey.length) {
|
|
26
30
|
throw new errors_1.AesError("Unexpected hash key");
|
|
27
31
|
}
|
|
28
32
|
return { encryptionKey, hashKey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-content-encryption-key.js","sourceRoot":"","sources":["../../../../src/utils/private/data/split-content-encryption-key.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAO3C,MAAM,mBAAmB,GAAG,CAAC,UAA6B,EAAgB,EAAE;IAC1E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CACvC,UAA6B,EAC7B,oBAA4B,EACpB,EAAE;IACV,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,
|
|
1
|
+
{"version":3,"file":"split-content-encryption-key.js","sourceRoot":"","sources":["../../../../src/utils/private/data/split-content-encryption-key.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAO3C,MAAM,mBAAmB,GAAG,CAAC,UAA6B,EAAgB,EAAE;IAC1E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CACvC,UAA6B,EAC7B,oBAA4B,EACpB,EAAE;IACV,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAGD,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEzD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC,CAAC;AAtBW,QAAA,yBAAyB,6BAsBpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CreateCekOptions, CreateCekResult, DecryptCekOptions, DecryptCekResult } from "../../../types/private";
|
|
2
|
-
export declare const getDiffieHellmanKeyWrapEncryptionKey: ({ encryption, kryptos, }: CreateCekOptions) => CreateCekResult;
|
|
3
|
-
export declare const getDiffieHellmanKeyWrapDecryptionKey: ({
|
|
2
|
+
export declare const getDiffieHellmanKeyWrapEncryptionKey: ({ apu, apv, encryption, kryptos, }: CreateCekOptions) => CreateCekResult;
|
|
3
|
+
export declare const getDiffieHellmanKeyWrapDecryptionKey: ({ apu, apv, kryptos, publicEncryptionJwk, publicEncryptionIv, publicEncryptionKey, publicEncryptionTag, }: DecryptCekOptions) => DecryptCekResult;
|
|
4
4
|
//# sourceMappingURL=diffie-hellman-key-wrap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffie-hellman-key-wrap.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman-key-wrap.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAMhC,eAAO,MAAM,oCAAoC,GAAI,
|
|
1
|
+
{"version":3,"file":"diffie-hellman-key-wrap.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman-key-wrap.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAMhC,eAAO,MAAM,oCAAoC,GAAI,oCAKlD,gBAAgB,KAAG,eA2BrB,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAAI,2GAQlD,iBAAiB,KAAG,gBAsBtB,CAAC"}
|
|
@@ -7,13 +7,16 @@ const calculate_1 = require("../calculate");
|
|
|
7
7
|
const key_derivation_1 = require("../key-derivation");
|
|
8
8
|
const key_wrap_1 = require("../key-wrap");
|
|
9
9
|
const shared_secret_1 = require("./shared-secret");
|
|
10
|
-
const getDiffieHellmanKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
10
|
+
const getDiffieHellmanKeyWrapEncryptionKey = ({ apu, apv, encryption, kryptos, }) => {
|
|
11
11
|
const { publicEncryptionJwk, sharedSecret } = (0, shared_secret_1.generateSharedSecret)(kryptos);
|
|
12
12
|
const cekSize = (0, calculate_1.calculateContentEncryptionKeySize)(encryption);
|
|
13
13
|
const contentEncryptionKey = (0, crypto_1.randomBytes)(cekSize);
|
|
14
|
-
const { derivedKey
|
|
15
|
-
|
|
14
|
+
const { derivedKey } = (0, key_derivation_1.concatKdf)({
|
|
15
|
+
algorithm: kryptos.algorithm,
|
|
16
|
+
apu,
|
|
17
|
+
apv,
|
|
16
18
|
keyLength: (0, calculate_1.calculateKeyWrapSize)(kryptos.algorithm),
|
|
19
|
+
sharedSecret,
|
|
17
20
|
});
|
|
18
21
|
const { publicEncryptionKey, publicEncryptionIv, publicEncryptionTag } = (0, key_wrap_1.keyWrap)({
|
|
19
22
|
contentEncryptionKey,
|
|
@@ -22,7 +25,6 @@ const getDiffieHellmanKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
|
22
25
|
});
|
|
23
26
|
return {
|
|
24
27
|
contentEncryptionKey,
|
|
25
|
-
hkdfSalt,
|
|
26
28
|
publicEncryptionJwk,
|
|
27
29
|
publicEncryptionKey,
|
|
28
30
|
publicEncryptionIv,
|
|
@@ -30,15 +32,17 @@ const getDiffieHellmanKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
|
30
32
|
};
|
|
31
33
|
};
|
|
32
34
|
exports.getDiffieHellmanKeyWrapEncryptionKey = getDiffieHellmanKeyWrapEncryptionKey;
|
|
33
|
-
const getDiffieHellmanKeyWrapDecryptionKey = ({
|
|
35
|
+
const getDiffieHellmanKeyWrapDecryptionKey = ({ apu, apv, kryptos, publicEncryptionJwk, publicEncryptionIv, publicEncryptionKey, publicEncryptionTag, }) => {
|
|
34
36
|
if (!publicEncryptionKey) {
|
|
35
37
|
throw new errors_1.AesError("Missing publicEncryptionKey");
|
|
36
38
|
}
|
|
37
39
|
const sharedSecret = (0, shared_secret_1.calculateSharedSecret)({ kryptos, publicEncryptionJwk });
|
|
38
|
-
const { derivedKey } = (0, key_derivation_1.
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const { derivedKey } = (0, key_derivation_1.concatKdf)({
|
|
41
|
+
algorithm: kryptos.algorithm,
|
|
42
|
+
apu,
|
|
43
|
+
apv,
|
|
41
44
|
keyLength: (0, calculate_1.calculateKeyWrapSize)(kryptos.algorithm),
|
|
45
|
+
sharedSecret,
|
|
42
46
|
});
|
|
43
47
|
return (0, key_wrap_1.keyUnwrap)({
|
|
44
48
|
keyEncryptionKey: derivedKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffie-hellman-key-wrap.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman-key-wrap.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AACrC,4CAA2C;AAO3C,4CAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"diffie-hellman-key-wrap.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman-key-wrap.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AACrC,4CAA2C;AAO3C,4CAAuF;AACvF,sDAA8C;AAC9C,0CAAiD;AACjD,mDAA8E;AAEvE,MAAM,oCAAoC,GAAG,CAAC,EACnD,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,IAAA,oCAAoB,EAAC,OAAO,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAA,6CAAiC,EAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,oBAAoB,GAAG,IAAA,oBAAW,EAAC,OAAO,CAAC,CAAC;IAElD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAS,EAAC;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG;QACH,GAAG;QACH,SAAS,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,SAAS,CAAC;QAClD,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,IAAA,kBAAO,EAAC;QAC/E,oBAAoB;QACpB,OAAO;QACP,gBAAgB,EAAE,UAAU;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,oBAAoB;QACpB,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,oCAAoC,wCAgC/C;AAEK,MAAM,oCAAoC,GAAG,CAAC,EACnD,GAAG,EACH,GAAG,EACH,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACD,EAAoB,EAAE;IACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,iBAAQ,CAAC,6BAA6B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,qCAAqB,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE7E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAS,EAAC;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG;QACH,GAAG;QACH,SAAS,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,SAAS,CAAC;QAClD,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,IAAA,oBAAS,EAAC;QACf,gBAAgB,EAAE,UAAU;QAC5B,OAAO;QACP,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AA9BW,QAAA,oCAAoC,wCA8B/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CreateCekOptions, CreateCekResult, DecryptCekOptions, DecryptCekResult } from "../../../types/private";
|
|
2
|
-
export declare const getDiffieHellmanEncryptionKey: ({ encryption, kryptos, }: CreateCekOptions) => CreateCekResult;
|
|
3
|
-
export declare const getDiffieHellmanDecryptionKey: ({
|
|
2
|
+
export declare const getDiffieHellmanEncryptionKey: ({ apu, apv, encryption, kryptos, }: CreateCekOptions) => CreateCekResult;
|
|
3
|
+
export declare const getDiffieHellmanDecryptionKey: ({ apu, apv, encryption, kryptos, publicEncryptionJwk, }: DecryptCekOptions) => DecryptCekResult;
|
|
4
4
|
//# sourceMappingURL=diffie-hellman.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffie-hellman.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAKhC,eAAO,MAAM,6BAA6B,GAAI,
|
|
1
|
+
{"version":3,"file":"diffie-hellman.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAKhC,eAAO,MAAM,6BAA6B,GAAI,oCAK3C,gBAAgB,KAAG,eAgBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,yDAM3C,iBAAiB,KAAG,gBAoBtB,CAAC"}
|
|
@@ -6,21 +6,23 @@ const errors_1 = require("../../../errors");
|
|
|
6
6
|
const calculate_1 = require("../calculate");
|
|
7
7
|
const key_derivation_1 = require("../key-derivation");
|
|
8
8
|
const shared_secret_1 = require("./shared-secret");
|
|
9
|
-
const getDiffieHellmanEncryptionKey = ({ encryption, kryptos, }) => {
|
|
9
|
+
const getDiffieHellmanEncryptionKey = ({ apu, apv, encryption, kryptos, }) => {
|
|
10
10
|
const { publicEncryptionJwk, sharedSecret } = (0, shared_secret_1.generateSharedSecret)(kryptos);
|
|
11
11
|
const keyLength = (0, calculate_1.calculateContentEncryptionKeySize)(encryption);
|
|
12
|
-
const { derivedKey
|
|
13
|
-
|
|
12
|
+
const { derivedKey } = (0, key_derivation_1.concatKdf)({
|
|
13
|
+
algorithm: encryption,
|
|
14
|
+
apu,
|
|
15
|
+
apv,
|
|
14
16
|
keyLength,
|
|
17
|
+
sharedSecret,
|
|
15
18
|
});
|
|
16
19
|
return {
|
|
17
20
|
contentEncryptionKey: derivedKey,
|
|
18
|
-
hkdfSalt,
|
|
19
21
|
publicEncryptionJwk,
|
|
20
22
|
};
|
|
21
23
|
};
|
|
22
24
|
exports.getDiffieHellmanEncryptionKey = getDiffieHellmanEncryptionKey;
|
|
23
|
-
const getDiffieHellmanDecryptionKey = ({
|
|
25
|
+
const getDiffieHellmanDecryptionKey = ({ apu, apv, encryption, kryptos, publicEncryptionJwk, }) => {
|
|
24
26
|
if (!kryptos_1.KryptosKit.isEc(kryptos) && !kryptos_1.KryptosKit.isOkp(kryptos)) {
|
|
25
27
|
throw new errors_1.AesError("Invalid kryptos type");
|
|
26
28
|
}
|
|
@@ -29,10 +31,12 @@ const getDiffieHellmanDecryptionKey = ({ encryption, hkdfSalt, kryptos, publicEn
|
|
|
29
31
|
}
|
|
30
32
|
const sharedSecret = (0, shared_secret_1.calculateSharedSecret)({ kryptos, publicEncryptionJwk });
|
|
31
33
|
const keyLength = (0, calculate_1.calculateContentEncryptionKeySize)(encryption);
|
|
32
|
-
const { derivedKey } = (0, key_derivation_1.
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
const { derivedKey } = (0, key_derivation_1.concatKdf)({
|
|
35
|
+
algorithm: encryption,
|
|
36
|
+
apu,
|
|
37
|
+
apv,
|
|
35
38
|
keyLength,
|
|
39
|
+
sharedSecret,
|
|
36
40
|
});
|
|
37
41
|
return { contentEncryptionKey: derivedKey };
|
|
38
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffie-hellman.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAC9C,4CAA2C;AAO3C,4CAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"diffie-hellman.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/diffie-hellman.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAC9C,4CAA2C;AAO3C,4CAAiE;AACjE,sDAA8C;AAC9C,mDAA8E;AAEvE,MAAM,6BAA6B,GAAG,CAAC,EAC5C,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,IAAA,oCAAoB,EAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,IAAA,6CAAiC,EAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAS,EAAC;QAC/B,SAAS,EAAE,UAAU;QACrB,GAAG;QACH,GAAG;QACH,SAAS;QACT,YAAY;KACb,CAAC,CAAC;IAEH,OAAO;QACL,oBAAoB,EAAE,UAAU;QAChC,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC;AAEK,MAAM,6BAA6B,GAAG,CAAC,EAC5C,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,EACP,mBAAmB,GACD,EAAoB,EAAE;IACxC,IAAI,CAAC,oBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,iBAAQ,CAAC,6BAA6B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,qCAAqB,EAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAA,6CAAiC,EAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,0BAAS,EAAC;QAC/B,SAAS,EAAE,UAAU;QACrB,GAAG;QACH,GAAG;QACH,SAAS;QACT,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC,CAAC;AA1BW,QAAA,6BAA6B,iCA0BxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-secret.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/shared-secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIT,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,KAAK,cAAc,GAAG;IACpB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,4BAA4B,GAAG,IAAI,CACtC,iBAAiB,EACjB,SAAS,GAAG,qBAAqB,CAClC,CAAC;AAoBF,eAAO,MAAM,oBAAoB,GAAI,SAAS,QAAQ,KAAG,cA+BxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,mCAGnC,4BAA4B,KAAG,
|
|
1
|
+
{"version":3,"file":"shared-secret.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/shared-secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIT,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,KAAK,cAAc,GAAG;IACpB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,4BAA4B,GAAG,IAAI,CACtC,iBAAiB,EACjB,SAAS,GAAG,qBAAqB,CAClC,CAAC;AAoBF,eAAO,MAAM,oBAAoB,GAAI,SAAS,QAAQ,KAAG,cA+BxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,mCAGnC,4BAA4B,KAAG,MAgCjC,CAAC"}
|
|
@@ -52,7 +52,11 @@ const calculateSharedSecret = ({ kryptos, publicEncryptionJwk, }) => {
|
|
|
52
52
|
if (!publicEncryptionJwk) {
|
|
53
53
|
throw new errors_1.AesError("Missing publicEncryptionJwk");
|
|
54
54
|
}
|
|
55
|
-
const pek = kryptos_1.KryptosKit.from.jwk({
|
|
55
|
+
const pek = kryptos_1.KryptosKit.from.jwk({
|
|
56
|
+
alg: kryptos.algorithm,
|
|
57
|
+
use: "enc",
|
|
58
|
+
...publicEncryptionJwk,
|
|
59
|
+
});
|
|
56
60
|
const der = kryptos.export("der");
|
|
57
61
|
const receiver = pek.export("der");
|
|
58
62
|
if (!der.privateKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-secret.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/shared-secret.ts"],"names":[],"mappings":";;;AAAA,8CAM0B;AAC1B,mCAA0E;AAC1E,4CAA2C;AAc3C,MAAM,eAAe,GAAG,CAAC,OAAiB,EAAY,EAAE;IACtD,IAAI,oBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,oBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,SAAS,EAAE,OAAO,CAAC,SAA2B;YAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,oBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,oBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YACjC,SAAS,EAAE,OAAO,CAAC,SAA4B;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAoB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAiB,EAAkB,EAAE;IACxE,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAQ,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC;QACjC,UAAU,EAAE,IAAA,yBAAgB,EAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;SACd,CAAC;QACF,SAAS,EAAE,IAAA,wBAAe,EAAC;YACzB,GAAG,EAAE,GAAG,CAAC,SAAS;YAClB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;SACb,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,OAAO;QACL,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;QACvC,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,oBAAoB,wBA+B/B;AAEK,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,mBAAmB,GACU,EAAU,EAAE;IACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,iBAAQ,CAAC,6BAA6B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,oBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"shared-secret.js","sourceRoot":"","sources":["../../../../src/utils/private/diffie-hellman/shared-secret.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AesEncryptionRecord } from "../../types";
|
|
1
|
+
import { AesEncryptionRecord, ParsedAesDecryptionRecord } from "../../types";
|
|
2
2
|
export declare const createEncodedAesString: (data: AesEncryptionRecord) => string;
|
|
3
|
-
export declare const parseEncodedAesString: (encoded: string) =>
|
|
3
|
+
export declare const parseEncodedAesString: (encoded: string) => ParsedAesDecryptionRecord;
|
|
4
4
|
//# sourceMappingURL=encoded-aes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoded-aes.d.ts","sourceRoot":"","sources":["../../../src/utils/private/encoded-aes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoded-aes.d.ts","sourceRoot":"","sources":["../../../src/utils/private/encoded-aes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AA2C7E,eAAO,MAAM,sBAAsB,GAAI,MAAM,mBAAmB,KAAG,MAwClE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,yBA+EvD,CAAC"}
|