@lindorm/aes 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +126 -231
- package/__tests__/esm-smoke.test.ts +2 -1
- package/__tests__/fixtures/keys.ts +4 -4
- package/__tests__/helpers/index.ts +2 -2
- package/__tests__/helpers/jwe-adapter.ts +2 -2
- package/__tests__/jose-jwe.test.ts +9 -8
- package/__tests__/noble-ciphers.test.ts +6 -5
- package/dist/classes/AesKit.d.ts +4 -4
- package/dist/classes/AesKit.d.ts.map +1 -1
- package/dist/classes/AesKit.js +29 -33
- package/dist/classes/AesKit.js.map +1 -1
- package/dist/classes/index.d.ts +1 -1
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +1 -17
- package/dist/classes/index.js.map +1 -1
- package/dist/errors/AesError.js +2 -6
- package/dist/errors/AesError.js.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -17
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -22
- package/dist/index.js.map +1 -1
- package/dist/interfaces/AesKit.d.ts +3 -3
- package/dist/interfaces/AesKit.d.ts.map +1 -1
- package/dist/interfaces/AesKit.js +1 -2
- package/dist/interfaces/index.d.ts +1 -1
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +1 -17
- package/dist/interfaces/index.js.map +1 -1
- package/dist/internal/constants/version.js +3 -6
- package/dist/internal/constants/version.js.map +1 -1
- package/dist/internal/types/aes-data.d.ts +4 -4
- package/dist/internal/types/aes-data.d.ts.map +1 -1
- package/dist/internal/types/aes-data.js +1 -2
- package/dist/internal/types/aes-key-derivation.js +1 -2
- package/dist/internal/types/auth-tag.d.ts +2 -2
- package/dist/internal/types/auth-tag.d.ts.map +1 -1
- package/dist/internal/types/auth-tag.js +1 -2
- package/dist/internal/types/auth-tag.js.map +1 -1
- package/dist/internal/types/content-encryption-key.d.ts +2 -2
- package/dist/internal/types/content-encryption-key.d.ts.map +1 -1
- package/dist/internal/types/content-encryption-key.js +1 -2
- package/dist/internal/types/key-wrap.d.ts +1 -1
- package/dist/internal/types/key-wrap.d.ts.map +1 -1
- package/dist/internal/types/key-wrap.js +1 -2
- package/dist/internal/types/prepared-encryption.d.ts +3 -3
- package/dist/internal/types/prepared-encryption.d.ts.map +1 -1
- package/dist/internal/types/prepared-encryption.js +1 -2
- package/dist/internal/utils/aes-header.d.ts +3 -3
- package/dist/internal/utils/aes-header.d.ts.map +1 -1
- package/dist/internal/utils/aes-header.js +22 -30
- package/dist/internal/utils/aes-header.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-aes-encryption.d.ts +2 -2
- package/dist/internal/utils/calculate/calculate-aes-encryption.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-aes-encryption.js +4 -8
- package/dist/internal/utils/calculate/calculate-aes-encryption.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-content-encryption-key-size.d.ts +2 -2
- package/dist/internal/utils/calculate/calculate-content-encryption-key-size.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-content-encryption-key-size.js +4 -8
- package/dist/internal/utils/calculate/calculate-content-encryption-key-size.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.d.ts +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.js +3 -7
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-size.d.ts +2 -2
- package/dist/internal/utils/calculate/calculate-key-wrap-size.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-size.js +3 -7
- package/dist/internal/utils/calculate/calculate-key-wrap-size.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.d.ts +2 -2
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.js +3 -7
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.d.ts +2 -2
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.js +3 -7
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.js.map +1 -1
- package/dist/internal/utils/content.d.ts +1 -1
- package/dist/internal/utils/content.d.ts.map +1 -1
- package/dist/internal/utils/content.js +11 -17
- package/dist/internal/utils/content.js.map +1 -1
- package/dist/internal/utils/data/auth-tag-hmac.d.ts +1 -1
- package/dist/internal/utils/data/auth-tag-hmac.d.ts.map +1 -1
- package/dist/internal/utils/data/auth-tag-hmac.js +9 -14
- package/dist/internal/utils/data/auth-tag-hmac.js.map +1 -1
- package/dist/internal/utils/data/auth-tag.d.ts +1 -1
- package/dist/internal/utils/data/auth-tag.d.ts.map +1 -1
- package/dist/internal/utils/data/auth-tag.js +9 -14
- package/dist/internal/utils/data/auth-tag.js.map +1 -1
- package/dist/internal/utils/data/get-initialisation-vector.d.ts +1 -1
- package/dist/internal/utils/data/get-initialisation-vector.d.ts.map +1 -1
- package/dist/internal/utils/data/get-initialisation-vector.js +6 -10
- package/dist/internal/utils/data/get-initialisation-vector.js.map +1 -1
- package/dist/internal/utils/data/split-content-encryption-key.d.ts +1 -1
- package/dist/internal/utils/data/split-content-encryption-key.d.ts.map +1 -1
- package/dist/internal/utils/data/split-content-encryption-key.js +4 -8
- package/dist/internal/utils/data/split-content-encryption-key.js.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.d.ts +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.js +20 -25
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.js.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman.d.ts +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman.d.ts.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman.js +16 -21
- package/dist/internal/utils/diffie-hellman/diffie-hellman.js.map +1 -1
- package/dist/internal/utils/diffie-hellman/shared-secret.d.ts +3 -3
- package/dist/internal/utils/diffie-hellman/shared-secret.d.ts.map +1 -1
- package/dist/internal/utils/diffie-hellman/shared-secret.js +22 -27
- package/dist/internal/utils/diffie-hellman/shared-secret.js.map +1 -1
- package/dist/internal/utils/encoded-aes.d.ts +2 -2
- package/dist/internal/utils/encoded-aes.d.ts.map +1 -1
- package/dist/internal/utils/encoded-aes.js +18 -23
- package/dist/internal/utils/encoded-aes.js.map +1 -1
- package/dist/internal/utils/encrypt-content.d.ts +1 -1
- package/dist/internal/utils/encrypt-content.d.ts.map +1 -1
- package/dist/internal/utils/encrypt-content.js +14 -18
- package/dist/internal/utils/encrypt-content.js.map +1 -1
- package/dist/internal/utils/encrypt-encoded.d.ts +2 -2
- package/dist/internal/utils/encrypt-encoded.d.ts.map +1 -1
- package/dist/internal/utils/encrypt-encoded.js +15 -19
- package/dist/internal/utils/encrypt-encoded.js.map +1 -1
- package/dist/internal/utils/encrypt-serialised.d.ts +3 -3
- package/dist/internal/utils/encrypt-serialised.d.ts.map +1 -1
- package/dist/internal/utils/encrypt-serialised.js +20 -24
- package/dist/internal/utils/encrypt-serialised.js.map +1 -1
- package/dist/internal/utils/encrypt-tokenised.d.ts +2 -2
- package/dist/internal/utils/encrypt-tokenised.d.ts.map +1 -1
- package/dist/internal/utils/encrypt-tokenised.js +18 -22
- package/dist/internal/utils/encrypt-tokenised.js.map +1 -1
- package/dist/internal/utils/encryption.d.ts +3 -3
- package/dist/internal/utils/encryption.d.ts.map +1 -1
- package/dist/internal/utils/encryption.js +22 -27
- package/dist/internal/utils/encryption.js.map +1 -1
- package/dist/internal/utils/get-key/get-decryption-key.d.ts +1 -1
- package/dist/internal/utils/get-key/get-decryption-key.d.ts.map +1 -1
- package/dist/internal/utils/get-key/get-decryption-key.js +11 -15
- package/dist/internal/utils/get-key/get-decryption-key.js.map +1 -1
- package/dist/internal/utils/get-key/get-encryption-key.d.ts +1 -1
- package/dist/internal/utils/get-key/get-encryption-key.d.ts.map +1 -1
- package/dist/internal/utils/get-key/get-encryption-key.js +11 -15
- package/dist/internal/utils/get-key/get-encryption-key.js.map +1 -1
- package/dist/internal/utils/key-derivation/concat-kdf.d.ts +1 -1
- package/dist/internal/utils/key-derivation/concat-kdf.d.ts.map +1 -1
- package/dist/internal/utils/key-derivation/concat-kdf.js +3 -7
- package/dist/internal/utils/key-derivation/concat-kdf.js.map +1 -1
- package/dist/internal/utils/key-derivation/pbkdf.d.ts +1 -1
- package/dist/internal/utils/key-derivation/pbkdf.d.ts.map +1 -1
- package/dist/internal/utils/key-derivation/pbkdf.js +7 -11
- package/dist/internal/utils/key-derivation/pbkdf.js.map +1 -1
- package/dist/internal/utils/key-types/get-ec-keys.d.ts +1 -1
- package/dist/internal/utils/key-types/get-ec-keys.d.ts.map +1 -1
- package/dist/internal/utils/key-types/get-ec-keys.js +11 -16
- package/dist/internal/utils/key-types/get-ec-keys.js.map +1 -1
- package/dist/internal/utils/key-types/get-oct-keys.d.ts +1 -1
- package/dist/internal/utils/key-types/get-oct-keys.d.ts.map +1 -1
- package/dist/internal/utils/key-types/get-oct-keys.js +14 -19
- package/dist/internal/utils/key-types/get-oct-keys.js.map +1 -1
- package/dist/internal/utils/key-types/get-okp-keys.d.ts +1 -1
- package/dist/internal/utils/key-types/get-okp-keys.d.ts.map +1 -1
- package/dist/internal/utils/key-types/get-okp-keys.js +11 -16
- package/dist/internal/utils/key-types/get-okp-keys.js.map +1 -1
- package/dist/internal/utils/key-types/get-rsa-keys.d.ts +1 -1
- package/dist/internal/utils/key-types/get-rsa-keys.d.ts.map +1 -1
- package/dist/internal/utils/key-types/get-rsa-keys.js +24 -29
- package/dist/internal/utils/key-types/get-rsa-keys.js.map +1 -1
- package/dist/internal/utils/key-wrap/ecb-key-wrap.d.ts +1 -1
- package/dist/internal/utils/key-wrap/ecb-key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/key-wrap/ecb-key-wrap.js +12 -17
- package/dist/internal/utils/key-wrap/ecb-key-wrap.js.map +1 -1
- package/dist/internal/utils/key-wrap/gcm-key-wrap.d.ts +1 -1
- package/dist/internal/utils/key-wrap/gcm-key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/key-wrap/gcm-key-wrap.js +14 -19
- package/dist/internal/utils/key-wrap/gcm-key-wrap.js.map +1 -1
- package/dist/internal/utils/key-wrap/key-wrap.d.ts +1 -1
- package/dist/internal/utils/key-wrap/key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/key-wrap/key-wrap.js +11 -16
- package/dist/internal/utils/key-wrap/key-wrap.js.map +1 -1
- package/dist/internal/utils/oct/get-oct-dir-keys.d.ts +1 -1
- package/dist/internal/utils/oct/get-oct-dir-keys.d.ts.map +1 -1
- package/dist/internal/utils/oct/get-oct-dir-keys.js +13 -18
- package/dist/internal/utils/oct/get-oct-dir-keys.js.map +1 -1
- package/dist/internal/utils/oct/get-oct-key-key-wrap.d.ts +1 -1
- package/dist/internal/utils/oct/get-oct-key-key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/oct/get-oct-key-key-wrap.js +19 -24
- package/dist/internal/utils/oct/get-oct-key-key-wrap.js.map +1 -1
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.d.ts +1 -1
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.d.ts.map +1 -1
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.js +25 -30
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.js.map +1 -1
- package/dist/internal/utils/prepare-encryption.d.ts +1 -1
- package/dist/internal/utils/prepare-encryption.d.ts.map +1 -1
- package/dist/internal/utils/prepare-encryption.js +5 -9
- package/dist/internal/utils/prepare-encryption.js.map +1 -1
- package/dist/internal/utils/serialised-aes.d.ts +2 -2
- package/dist/internal/utils/serialised-aes.d.ts.map +1 -1
- package/dist/internal/utils/serialised-aes.js +19 -24
- package/dist/internal/utils/serialised-aes.js.map +1 -1
- package/dist/internal/utils/tokenised-aes.d.ts +2 -2
- package/dist/internal/utils/tokenised-aes.d.ts.map +1 -1
- package/dist/internal/utils/tokenised-aes.js +22 -27
- package/dist/internal/utils/tokenised-aes.js.map +1 -1
- package/dist/internal/utils/validate-version.js +8 -12
- package/dist/internal/utils/validate-version.js.map +1 -1
- package/dist/mocks/create-mock-aes-kit.d.ts +4 -0
- package/dist/mocks/create-mock-aes-kit.d.ts.map +1 -0
- package/dist/mocks/create-mock-aes-kit.js +81 -0
- package/dist/mocks/create-mock-aes-kit.js.map +1 -0
- package/dist/mocks/jest.d.ts +5 -0
- package/dist/mocks/jest.d.ts.map +1 -0
- package/dist/mocks/jest.js +4 -0
- package/dist/mocks/jest.js.map +1 -0
- package/dist/mocks/vitest.d.ts +6 -0
- package/dist/mocks/vitest.d.ts.map +1 -0
- package/dist/mocks/vitest.js +5 -0
- package/dist/mocks/vitest.js.map +1 -0
- package/dist/types/aes-decryption-data.d.ts +3 -3
- package/dist/types/aes-decryption-data.d.ts.map +1 -1
- package/dist/types/aes-decryption-data.js +1 -2
- package/dist/types/aes-encryption-data.d.ts +3 -3
- package/dist/types/aes-encryption-data.d.ts.map +1 -1
- package/dist/types/aes-encryption-data.js +1 -2
- package/dist/types/aes-kit.d.ts +1 -1
- package/dist/types/aes-kit.d.ts.map +1 -1
- package/dist/types/aes-kit.js +1 -2
- package/dist/types/content.d.ts +1 -1
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/content.js +1 -2
- package/dist/types/curve.js +1 -2
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +1 -2
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -18
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/is-aes.d.ts +1 -1
- package/dist/utils/is-aes.d.ts.map +1 -1
- package/dist/utils/is-aes.js +4 -10
- package/dist/utils/is-aes.js.map +1 -1
- package/dist/utils/parse-aes.d.ts +1 -1
- package/dist/utils/parse-aes.d.ts.map +1 -1
- package/dist/utils/parse-aes.js +15 -19
- package/dist/utils/parse-aes.js.map +1 -1
- package/package.json +19 -26
- package/vitest.config.mjs +6 -0
- package/dist/mocks/index.d.ts +0 -2
- package/dist/mocks/index.d.ts.map +0 -1
- package/dist/mocks/index.js +0 -6
- package/dist/mocks/index.js.map +0 -1
- package/dist/mocks/mock-aes-kit.d.ts +0 -4
- package/dist/mocks/mock-aes-kit.d.ts.map +0 -1
- package/dist/mocks/mock-aes-kit.js +0 -74
- package/dist/mocks/mock-aes-kit.js.map +0 -1
- package/jest.config.interop.mjs +0 -24
- package/tsconfig.interop.json +0 -13
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const get_initialisation_vector_1 = require("#internal/utils/data/get-initialisation-vector");
|
|
9
|
-
const split_content_encryption_key_1 = require("#internal/utils/data/split-content-encryption-key");
|
|
10
|
-
const encryptAesContent = (options) => {
|
|
1
|
+
import { createCipheriv } from "crypto";
|
|
2
|
+
import { calculateAesEncryption } from "./calculate/calculate-aes-encryption.js";
|
|
3
|
+
import { calculateContentType, contentToBuffer } from "./content.js";
|
|
4
|
+
import { createAuthTag } from "./data/auth-tag.js";
|
|
5
|
+
import { getInitialisationVector } from "./data/get-initialisation-vector.js";
|
|
6
|
+
import { splitContentEncryptionKey } from "./data/split-content-encryption-key.js";
|
|
7
|
+
export const encryptAesContent = (options) => {
|
|
11
8
|
const { aad, contentEncryptionKey, data, encryption } = options;
|
|
12
|
-
const { encryptionKey, hashKey } =
|
|
13
|
-
const aesEncryption =
|
|
14
|
-
const initialisationVector = options.initialisationVector ??
|
|
9
|
+
const { encryptionKey, hashKey } = splitContentEncryptionKey(encryption, contentEncryptionKey);
|
|
10
|
+
const aesEncryption = calculateAesEncryption(encryption);
|
|
11
|
+
const initialisationVector = options.initialisationVector ?? getInitialisationVector(encryption);
|
|
15
12
|
const isGcm = encryption.includes("GCM");
|
|
16
13
|
const cipherOptions = isGcm
|
|
17
14
|
? { authTagLength: 16 }
|
|
18
15
|
: undefined;
|
|
19
|
-
const cipher =
|
|
16
|
+
const cipher = createCipheriv(aesEncryption, encryptionKey, initialisationVector, cipherOptions);
|
|
20
17
|
if (isGcm && aad) {
|
|
21
18
|
cipher.setAAD(aad);
|
|
22
19
|
}
|
|
23
|
-
const contentType =
|
|
24
|
-
const buffer =
|
|
20
|
+
const contentType = calculateContentType(data);
|
|
21
|
+
const buffer = contentToBuffer(data, contentType);
|
|
25
22
|
const content = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
26
|
-
const authTag =
|
|
23
|
+
const authTag = createAuthTag({
|
|
27
24
|
aad,
|
|
28
25
|
cipher,
|
|
29
26
|
content,
|
|
@@ -33,5 +30,4 @@ const encryptAesContent = (options) => {
|
|
|
33
30
|
});
|
|
34
31
|
return { authTag, content, contentType, initialisationVector };
|
|
35
32
|
};
|
|
36
|
-
exports.encryptAesContent = encryptAesContent;
|
|
37
33
|
//# sourceMappingURL=encrypt-content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-content.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypt-content.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,cAAc,EAAE,MAAM,QAAQ,CAAC;AAK/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAA8B,EACR,EAAE;IACxB,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEhE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,yBAAyB,CAC1D,UAAU,EACV,oBAAoB,CACrB,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAiC,KAAK;QACvD,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,cAAc,CAC3B,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,aAAiC,CAClC,CAAC;IAEF,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QAChB,MAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,GAAG;QACH,MAAM;QACN,OAAO;QACP,OAAO;QACP,UAAU;QACV,oBAAoB;KACrB,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;AACjE,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
-
import { AesContent } from "../../types/content";
|
|
1
|
+
import type { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
+
import type { AesContent } from "../../types/content.js";
|
|
3
3
|
export type EncryptEncodedOptions = {
|
|
4
4
|
data: AesContent;
|
|
5
5
|
encryption: KryptosEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-encoded.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-encoded.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypt-encoded.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-encoded.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,qBAAqB,KAAG,MAgE/D,CAAC"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const encrypt_content_1 = require("#internal/utils/encrypt-content");
|
|
9
|
-
const get_encryption_key_1 = require("#internal/utils/get-key/get-encryption-key");
|
|
10
|
-
const encryptEncoded = (options) => {
|
|
1
|
+
import { B64 } from "@lindorm/b64";
|
|
2
|
+
import { buildAesHeader, computeAad } from "./aes-header.js";
|
|
3
|
+
import { calculateContentType } from "./content.js";
|
|
4
|
+
import { getInitialisationVector } from "./data/get-initialisation-vector.js";
|
|
5
|
+
import { encryptAesContent } from "./encrypt-content.js";
|
|
6
|
+
import { getEncryptionKey } from "./get-key/get-encryption-key.js";
|
|
7
|
+
export const encryptEncoded = (options) => {
|
|
11
8
|
const { data, encryption, kryptos } = options;
|
|
12
|
-
const keyResult =
|
|
13
|
-
const initialisationVector =
|
|
14
|
-
const contentType =
|
|
15
|
-
const header =
|
|
9
|
+
const keyResult = getEncryptionKey({ encryption, kryptos });
|
|
10
|
+
const initialisationVector = getInitialisationVector(encryption);
|
|
11
|
+
const contentType = calculateContentType(data);
|
|
12
|
+
const header = buildAesHeader({
|
|
16
13
|
algorithm: kryptos.algorithm,
|
|
17
14
|
contentType,
|
|
18
15
|
encryption,
|
|
@@ -24,9 +21,9 @@ const encryptEncoded = (options) => {
|
|
|
24
21
|
publicEncryptionTag: keyResult.publicEncryptionTag,
|
|
25
22
|
});
|
|
26
23
|
const headerJson = Buffer.from(JSON.stringify(header), "utf8");
|
|
27
|
-
const headerB64 =
|
|
28
|
-
const aad =
|
|
29
|
-
const { authTag, content } =
|
|
24
|
+
const headerB64 = B64.encode(headerJson, "b64u");
|
|
25
|
+
const aad = computeAad(headerB64);
|
|
26
|
+
const { authTag, content } = encryptAesContent({
|
|
30
27
|
aad,
|
|
31
28
|
contentEncryptionKey: keyResult.contentEncryptionKey,
|
|
32
29
|
data,
|
|
@@ -47,7 +44,6 @@ const encryptEncoded = (options) => {
|
|
|
47
44
|
buffers.push(initialisationVector);
|
|
48
45
|
buffers.push(authTag);
|
|
49
46
|
buffers.push(content);
|
|
50
|
-
return
|
|
47
|
+
return B64.encode(Buffer.concat(buffers), "b64u");
|
|
51
48
|
};
|
|
52
|
-
exports.encryptEncoded = encryptEncoded;
|
|
53
49
|
//# sourceMappingURL=encrypt-encoded.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-encoded.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-encoded.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypt-encoded.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-encoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA8B,EAAU,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAG9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAG5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAGjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW;QACX,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,EAAE;QACjB,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;KACnD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAG/D,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAGlC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAC7C,GAAG;QACH,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;QACpD,IAAI;QACJ,UAAU;QACV,oBAAoB;KACrB,CAAC,CAAC;IAGH,MAAM,OAAO,GAAa,EAAE,CAAC;IAG7B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAGvC,MAAM,SAAS,GAAG,SAAS,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAGD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAGnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAGtB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
-
import { AesContent } from "../../types/content";
|
|
3
|
-
import { SerialisedAesEncryption } from "../../types/aes-encryption-data";
|
|
1
|
+
import type { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
+
import type { AesContent } from "../../types/content.js";
|
|
3
|
+
import type { SerialisedAesEncryption } from "../../types/aes-encryption-data.js";
|
|
4
4
|
export type EncryptSerialisedOptions = {
|
|
5
5
|
data: AesContent;
|
|
6
6
|
encryption: KryptosEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-serialised.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-serialised.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypt-serialised.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-serialised.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAOlF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,wBAAwB,KAChC,uBA+CF,CAAC"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const encrypt_content_1 = require("#internal/utils/encrypt-content");
|
|
10
|
-
const get_encryption_key_1 = require("#internal/utils/get-key/get-encryption-key");
|
|
11
|
-
const encryptSerialised = (options) => {
|
|
1
|
+
import { B64 } from "@lindorm/b64";
|
|
2
|
+
import { AES_FORMAT_VERSION } from "../constants/version.js";
|
|
3
|
+
import { buildAesHeader, computeAad, encodeAesHeader } from "./aes-header.js";
|
|
4
|
+
import { calculateContentType } from "./content.js";
|
|
5
|
+
import { getInitialisationVector } from "./data/get-initialisation-vector.js";
|
|
6
|
+
import { encryptAesContent } from "./encrypt-content.js";
|
|
7
|
+
import { getEncryptionKey } from "./get-key/get-encryption-key.js";
|
|
8
|
+
export const encryptSerialised = (options) => {
|
|
12
9
|
const { data, encryption, kryptos } = options;
|
|
13
|
-
const keyResult =
|
|
14
|
-
const initialisationVector =
|
|
15
|
-
const contentType =
|
|
16
|
-
const header =
|
|
10
|
+
const keyResult = getEncryptionKey({ encryption, kryptos });
|
|
11
|
+
const initialisationVector = getInitialisationVector(encryption);
|
|
12
|
+
const contentType = calculateContentType(data);
|
|
13
|
+
const header = buildAesHeader({
|
|
17
14
|
algorithm: kryptos.algorithm,
|
|
18
15
|
contentType,
|
|
19
16
|
encryption,
|
|
@@ -24,9 +21,9 @@ const encryptSerialised = (options) => {
|
|
|
24
21
|
publicEncryptionJwk: keyResult.publicEncryptionJwk,
|
|
25
22
|
publicEncryptionTag: keyResult.publicEncryptionTag,
|
|
26
23
|
});
|
|
27
|
-
const headerB64 =
|
|
28
|
-
const aad =
|
|
29
|
-
const { authTag, content } =
|
|
24
|
+
const headerB64 = encodeAesHeader(header);
|
|
25
|
+
const aad = computeAad(headerB64);
|
|
26
|
+
const { authTag, content } = encryptAesContent({
|
|
30
27
|
aad,
|
|
31
28
|
contentEncryptionKey: keyResult.contentEncryptionKey,
|
|
32
29
|
data,
|
|
@@ -35,14 +32,13 @@ const encryptSerialised = (options) => {
|
|
|
35
32
|
});
|
|
36
33
|
return {
|
|
37
34
|
cek: keyResult.publicEncryptionKey
|
|
38
|
-
?
|
|
35
|
+
? B64.encode(keyResult.publicEncryptionKey, "b64u")
|
|
39
36
|
: undefined,
|
|
40
|
-
ciphertext:
|
|
37
|
+
ciphertext: B64.encode(content, "b64u"),
|
|
41
38
|
header: headerB64,
|
|
42
|
-
iv:
|
|
43
|
-
tag:
|
|
44
|
-
v:
|
|
39
|
+
iv: B64.encode(initialisationVector, "b64u"),
|
|
40
|
+
tag: B64.encode(authTag, "b64u"),
|
|
41
|
+
v: AES_FORMAT_VERSION,
|
|
45
42
|
};
|
|
46
43
|
};
|
|
47
|
-
exports.encryptSerialised = encryptSerialised;
|
|
48
44
|
//# sourceMappingURL=encrypt-serialised.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-serialised.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-serialised.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypt-serialised.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-serialised.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAiC,EACR,EAAE;IAC3B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAG9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAG5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAGjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW;QACX,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,EAAE;QACjB,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;KACnD,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAG1C,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAGlC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAC7C,GAAG;QACH,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;QACpD,IAAI;QACJ,UAAU;QACV,oBAAoB;KACrB,CAAC,CAAC;IAGH,OAAO;QACL,GAAG,EAAE,SAAS,CAAC,mBAAmB;YAChC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;YACnD,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC;QAC5C,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QAChC,CAAC,EAAE,kBAAkB;KACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
-
import { AesContent } from "../../types/content";
|
|
1
|
+
import type { IKryptos, KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
+
import type { AesContent } from "../../types/content.js";
|
|
3
3
|
export type EncryptTokenisedOptions = {
|
|
4
4
|
data: AesContent;
|
|
5
5
|
encryption: KryptosEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-tokenised.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-tokenised.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypt-tokenised.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-tokenised.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,SAAS,uBAAuB,KAAG,MA+CnE,CAAC"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const encrypt_content_1 = require("#internal/utils/encrypt-content");
|
|
9
|
-
const get_encryption_key_1 = require("#internal/utils/get-key/get-encryption-key");
|
|
10
|
-
const encryptTokenised = (options) => {
|
|
1
|
+
import { B64 } from "@lindorm/b64";
|
|
2
|
+
import { buildAesHeader, computeAad, encodeAesHeader } from "./aes-header.js";
|
|
3
|
+
import { calculateContentType } from "./content.js";
|
|
4
|
+
import { getInitialisationVector } from "./data/get-initialisation-vector.js";
|
|
5
|
+
import { encryptAesContent } from "./encrypt-content.js";
|
|
6
|
+
import { getEncryptionKey } from "./get-key/get-encryption-key.js";
|
|
7
|
+
export const encryptTokenised = (options) => {
|
|
11
8
|
const { data, encryption, kryptos } = options;
|
|
12
|
-
const keyResult =
|
|
13
|
-
const initialisationVector =
|
|
14
|
-
const contentType =
|
|
15
|
-
const header =
|
|
9
|
+
const keyResult = getEncryptionKey({ encryption, kryptos });
|
|
10
|
+
const initialisationVector = getInitialisationVector(encryption);
|
|
11
|
+
const contentType = calculateContentType(data);
|
|
12
|
+
const header = buildAesHeader({
|
|
16
13
|
algorithm: kryptos.algorithm,
|
|
17
14
|
contentType,
|
|
18
15
|
encryption,
|
|
@@ -23,23 +20,22 @@ const encryptTokenised = (options) => {
|
|
|
23
20
|
publicEncryptionJwk: keyResult.publicEncryptionJwk,
|
|
24
21
|
publicEncryptionTag: keyResult.publicEncryptionTag,
|
|
25
22
|
});
|
|
26
|
-
const headerB64 =
|
|
27
|
-
const aad =
|
|
28
|
-
const { authTag, content } =
|
|
23
|
+
const headerB64 = encodeAesHeader(header);
|
|
24
|
+
const aad = computeAad(headerB64);
|
|
25
|
+
const { authTag, content } = encryptAesContent({
|
|
29
26
|
aad,
|
|
30
27
|
contentEncryptionKey: keyResult.contentEncryptionKey,
|
|
31
28
|
data,
|
|
32
29
|
encryption,
|
|
33
30
|
initialisationVector,
|
|
34
31
|
});
|
|
35
|
-
const ivB64 =
|
|
36
|
-
const tagB64 =
|
|
37
|
-
const ciphertextB64 =
|
|
32
|
+
const ivB64 = B64.encode(initialisationVector, "b64u");
|
|
33
|
+
const tagB64 = B64.encode(authTag, "b64u");
|
|
34
|
+
const ciphertextB64 = B64.encode(content, "b64u");
|
|
38
35
|
if (keyResult.publicEncryptionKey) {
|
|
39
|
-
const cekB64 =
|
|
36
|
+
const cekB64 = B64.encode(keyResult.publicEncryptionKey, "b64u");
|
|
40
37
|
return `aes:${headerB64}$${cekB64}$${ivB64}$${tagB64}$${ciphertextB64}`;
|
|
41
38
|
}
|
|
42
39
|
return `aes:${headerB64}$${ivB64}$${tagB64}$${ciphertextB64}`;
|
|
43
40
|
};
|
|
44
|
-
exports.encryptTokenised = encryptTokenised;
|
|
45
41
|
//# sourceMappingURL=encrypt-tokenised.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt-tokenised.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-tokenised.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypt-tokenised.js","sourceRoot":"","sources":["../../../src/internal/utils/encrypt-tokenised.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgC,EAAU,EAAE;IAC3E,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAG9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAG5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAGjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW;QACX,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,EAAE;QACjB,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;KACnD,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAG1C,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAGlC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAC7C,GAAG;QACH,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;QACpD,IAAI;QACJ,UAAU;QACV,oBAAoB;KACrB,CAAC,CAAC;IAGH,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,SAAS,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,SAAS,IAAI,KAAK,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;AAChE,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AesContent } from "../../types/content";
|
|
2
|
-
import { AesEncryptionRecord } from "../../types/aes-encryption-data";
|
|
3
|
-
import { PrivateAesDecryptionOptions, PrivateAesEncryptionOptions } from "
|
|
1
|
+
import type { AesContent } from "../../types/content.js";
|
|
2
|
+
import type { AesEncryptionRecord } from "../../types/aes-encryption-data.js";
|
|
3
|
+
import type { PrivateAesDecryptionOptions, PrivateAesEncryptionOptions } from "../types/aes-data.js";
|
|
4
4
|
export declare const encryptAes: (options: PrivateAesEncryptionOptions) => AesEncryptionRecord;
|
|
5
5
|
export declare const decryptAes: <T extends AesContent = string>(options: PrivateAesDecryptionOptions) => T;
|
|
6
6
|
//# sourceMappingURL=encryption.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encryption.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/encryption.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,UAAU,GAAI,SAAS,2BAA2B,KAAG,mBA4BjE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,UAAU,GAAG,MAAM,EACtD,SAAS,2BAA2B,KACnC,CAkEF,CAAC"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const get_encryption_key_1 = require("#internal/utils/get-key/get-encryption-key");
|
|
13
|
-
const encrypt_content_1 = require("#internal/utils/encrypt-content");
|
|
14
|
-
const encryptAes = (options) => {
|
|
1
|
+
import { createDecipheriv } from "crypto";
|
|
2
|
+
import { LATEST_AES_VERSION } from "../constants/version.js";
|
|
3
|
+
import { AesError } from "../../errors/AesError.js";
|
|
4
|
+
import { calculateAesEncryption } from "./calculate/calculate-aes-encryption.js";
|
|
5
|
+
import { parseContent } from "./content.js";
|
|
6
|
+
import { assertAuthTag } from "./data/auth-tag.js";
|
|
7
|
+
import { splitContentEncryptionKey } from "./data/split-content-encryption-key.js";
|
|
8
|
+
import { getDecryptionKey } from "./get-key/get-decryption-key.js";
|
|
9
|
+
import { getEncryptionKey } from "./get-key/get-encryption-key.js";
|
|
10
|
+
import { encryptAesContent } from "./encrypt-content.js";
|
|
11
|
+
export const encryptAes = (options) => {
|
|
15
12
|
const { aad, data, encryption = "A256GCM", kryptos } = options;
|
|
16
|
-
const keyResult =
|
|
17
|
-
const { authTag, content, contentType, initialisationVector } =
|
|
13
|
+
const keyResult = getEncryptionKey({ encryption, kryptos });
|
|
14
|
+
const { authTag, content, contentType, initialisationVector } = encryptAesContent({
|
|
18
15
|
aad,
|
|
19
16
|
contentEncryptionKey: keyResult.contentEncryptionKey,
|
|
20
17
|
data,
|
|
@@ -34,13 +31,12 @@ const encryptAes = (options) => {
|
|
|
34
31
|
publicEncryptionJwk: keyResult.publicEncryptionJwk,
|
|
35
32
|
publicEncryptionKey: keyResult.publicEncryptionKey,
|
|
36
33
|
publicEncryptionTag: keyResult.publicEncryptionTag,
|
|
37
|
-
version:
|
|
34
|
+
version: LATEST_AES_VERSION,
|
|
38
35
|
};
|
|
39
36
|
};
|
|
40
|
-
|
|
41
|
-
const decryptAes = (options) => {
|
|
37
|
+
export const decryptAes = (options) => {
|
|
42
38
|
const { aad, authTag, content, contentType, encryption, initialisationVector, kryptos, pbkdfIterations, pbkdfSalt, publicEncryptionIv, publicEncryptionJwk, publicEncryptionKey, publicEncryptionTag, } = options;
|
|
43
|
-
const { contentEncryptionKey } =
|
|
39
|
+
const { contentEncryptionKey } = getDecryptionKey({
|
|
44
40
|
encryption,
|
|
45
41
|
kryptos,
|
|
46
42
|
pbkdfIterations,
|
|
@@ -50,20 +46,20 @@ const decryptAes = (options) => {
|
|
|
50
46
|
publicEncryptionKey,
|
|
51
47
|
publicEncryptionTag,
|
|
52
48
|
});
|
|
53
|
-
const { encryptionKey, hashKey } =
|
|
54
|
-
const aesEncryption =
|
|
49
|
+
const { encryptionKey, hashKey } = splitContentEncryptionKey(encryption, contentEncryptionKey);
|
|
50
|
+
const aesEncryption = calculateAesEncryption(encryption);
|
|
55
51
|
const isGcm = encryption.includes("GCM");
|
|
56
52
|
const decipherOptions = isGcm
|
|
57
53
|
? { authTagLength: 16 }
|
|
58
54
|
: undefined;
|
|
59
|
-
const decipher =
|
|
55
|
+
const decipher = createDecipheriv(aesEncryption, encryptionKey, initialisationVector, decipherOptions);
|
|
60
56
|
if (isGcm && authTag && authTag.length !== 16) {
|
|
61
|
-
throw new
|
|
57
|
+
throw new AesError("Invalid GCM auth tag length");
|
|
62
58
|
}
|
|
63
59
|
if (isGcm && aad) {
|
|
64
60
|
decipher.setAAD(aad);
|
|
65
61
|
}
|
|
66
|
-
|
|
62
|
+
assertAuthTag({
|
|
67
63
|
aad,
|
|
68
64
|
authTag,
|
|
69
65
|
content,
|
|
@@ -73,7 +69,6 @@ const decryptAes = (options) => {
|
|
|
73
69
|
initialisationVector,
|
|
74
70
|
});
|
|
75
71
|
const final = Buffer.concat([decipher.update(content), decipher.final()]);
|
|
76
|
-
return
|
|
72
|
+
return parseContent(final, contentType);
|
|
77
73
|
};
|
|
78
|
-
exports.decryptAes = decryptAes;
|
|
79
74
|
//# sourceMappingURL=encryption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/internal/utils/encryption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../src/internal/utils/encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DecryptCekOptions, DecryptCekResult } from "
|
|
1
|
+
import type { DecryptCekOptions, DecryptCekResult } from "../../types/content-encryption-key.js";
|
|
2
2
|
export declare const getDecryptionKey: (options: DecryptCekOptions) => DecryptCekResult;
|
|
3
3
|
//# sourceMappingURL=get-decryption-key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-decryption-key.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-decryption-key.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"get-decryption-key.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-decryption-key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAM/C,eAAO,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,gBAmB7D,CAAC"}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const get_okp_keys_1 = require("#internal/utils/key-types/get-okp-keys");
|
|
8
|
-
const get_rsa_keys_1 = require("#internal/utils/key-types/get-rsa-keys");
|
|
9
|
-
const getDecryptionKey = (options) => {
|
|
1
|
+
import { AesError } from "../../../errors/index.js";
|
|
2
|
+
import { getEcDecryptionKey } from "../key-types/get-ec-keys.js";
|
|
3
|
+
import { getOctDecryptionKey } from "../key-types/get-oct-keys.js";
|
|
4
|
+
import { getOkpDecryptionKey } from "../key-types/get-okp-keys.js";
|
|
5
|
+
import { getRsaDecryptionKey } from "../key-types/get-rsa-keys.js";
|
|
6
|
+
export const getDecryptionKey = (options) => {
|
|
10
7
|
switch (options.kryptos.type) {
|
|
11
8
|
case "EC":
|
|
12
|
-
return
|
|
9
|
+
return getEcDecryptionKey(options);
|
|
13
10
|
case "oct":
|
|
14
|
-
return
|
|
11
|
+
return getOctDecryptionKey(options);
|
|
15
12
|
case "OKP":
|
|
16
|
-
return
|
|
13
|
+
return getOkpDecryptionKey(options);
|
|
17
14
|
case "RSA":
|
|
18
|
-
return
|
|
15
|
+
return getRsaDecryptionKey(options);
|
|
19
16
|
default:
|
|
20
|
-
throw new
|
|
17
|
+
throw new AesError("Unexpected Kryptos", {
|
|
21
18
|
debug: { kryptos: options.kryptos.toJSON() },
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
21
|
};
|
|
25
|
-
exports.getDecryptionKey = getDecryptionKey;
|
|
26
22
|
//# sourceMappingURL=get-decryption-key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-decryption-key.js","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-decryption-key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-decryption-key.js","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-decryption-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA0B,EAAoB,EAAE;IAC/E,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC;YACE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBACvC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;aAC7C,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { CreateCekOptions, CreateCekResult } from "
|
|
1
|
+
import type { CreateCekOptions, CreateCekResult } from "../../types/content-encryption-key.js";
|
|
2
2
|
export declare const getEncryptionKey: (options: CreateCekOptions) => CreateCekResult;
|
|
3
3
|
//# sourceMappingURL=get-encryption-key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-encryption-key.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-encryption-key.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"get-encryption-key.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-encryption-key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAM/C,eAAO,MAAM,gBAAgB,GAAI,SAAS,gBAAgB,KAAG,eAmB5D,CAAC"}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const get_okp_keys_1 = require("#internal/utils/key-types/get-okp-keys");
|
|
8
|
-
const get_rsa_keys_1 = require("#internal/utils/key-types/get-rsa-keys");
|
|
9
|
-
const getEncryptionKey = (options) => {
|
|
1
|
+
import { AesError } from "../../../errors/index.js";
|
|
2
|
+
import { getEcEncryptionKey } from "../key-types/get-ec-keys.js";
|
|
3
|
+
import { getOctEncryptionKey } from "../key-types/get-oct-keys.js";
|
|
4
|
+
import { getOkpEncryptionKey } from "../key-types/get-okp-keys.js";
|
|
5
|
+
import { getRsaEncryptionKey } from "../key-types/get-rsa-keys.js";
|
|
6
|
+
export const getEncryptionKey = (options) => {
|
|
10
7
|
switch (options.kryptos.type) {
|
|
11
8
|
case "EC":
|
|
12
|
-
return
|
|
9
|
+
return getEcEncryptionKey(options);
|
|
13
10
|
case "oct":
|
|
14
|
-
return
|
|
11
|
+
return getOctEncryptionKey(options);
|
|
15
12
|
case "OKP":
|
|
16
|
-
return
|
|
13
|
+
return getOkpEncryptionKey(options);
|
|
17
14
|
case "RSA":
|
|
18
|
-
return
|
|
15
|
+
return getRsaEncryptionKey(options);
|
|
19
16
|
default:
|
|
20
|
-
throw new
|
|
17
|
+
throw new AesError("Unexpected Kryptos", {
|
|
21
18
|
debug: { kryptos: options.kryptos.toJSON() },
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
21
|
};
|
|
25
|
-
exports.getEncryptionKey = getEncryptionKey;
|
|
26
22
|
//# sourceMappingURL=get-encryption-key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-encryption-key.js","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-encryption-key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-encryption-key.js","sourceRoot":"","sources":["../../../../src/internal/utils/get-key/get-encryption-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAyB,EAAmB,EAAE;IAC7E,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC,KAAK,KAAK;YACR,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC;YACE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBACvC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;aAC7C,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat-kdf.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/key-derivation/concat-kdf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"concat-kdf.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/key-derivation/concat-kdf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,KAAK,OAAO,GAAG;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAQF,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,MAiB5C,CAAC"}
|