@lindorm/aes 0.7.2 → 0.8.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/dist/classes/AesKit.d.ts +3 -1
- package/dist/classes/AesKit.d.ts.map +1 -1
- package/dist/classes/AesKit.js +72 -5
- package/dist/classes/AesKit.js.map +1 -1
- package/dist/errors/AesError.d.ts +1 -0
- package/dist/errors/AesError.d.ts.map +1 -1
- package/dist/errors/AesError.js +1 -0
- package/dist/errors/AesError.js.map +1 -1
- package/dist/interfaces/AesKit.d.ts +17 -0
- package/dist/interfaces/AesKit.d.ts.map +1 -1
- package/dist/internal/utils/aes-descriptor.d.ts +17 -0
- package/dist/internal/utils/aes-descriptor.d.ts.map +1 -0
- package/dist/internal/utils/aes-descriptor.js +100 -0
- package/dist/internal/utils/aes-descriptor.js.map +1 -0
- package/dist/internal/utils/aes-header.d.ts.map +1 -1
- package/dist/internal/utils/aes-header.js +6 -0
- package/dist/internal/utils/aes-header.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-aes-encryption.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-aes-encryption.js +2 -22
- package/dist/internal/utils/calculate/calculate-aes-encryption.js.map +1 -1
- 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 +2 -22
- 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.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.js +5 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-encryption.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-size.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-size.js +6 -1
- package/dist/internal/utils/calculate/calculate-key-wrap-size.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.js +6 -1
- package/dist/internal/utils/calculate/calculate-pbkdf-hash.js.map +1 -1
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.d.ts.map +1 -1
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.js +4 -1
- package/dist/internal/utils/calculate/calculate-rsa-oaep-hash.js.map +1 -1
- package/dist/internal/utils/content-primitive.d.ts +24 -0
- package/dist/internal/utils/content-primitive.d.ts.map +1 -0
- package/dist/internal/utils/content-primitive.js +47 -0
- package/dist/internal/utils/content-primitive.js.map +1 -0
- package/dist/internal/utils/content.d.ts.map +1 -1
- package/dist/internal/utils/content.js +12 -3
- package/dist/internal/utils/content.js.map +1 -1
- package/dist/internal/utils/data/auth-tag-hmac.d.ts.map +1 -1
- package/dist/internal/utils/data/auth-tag-hmac.js +11 -2
- package/dist/internal/utils/data/auth-tag-hmac.js.map +1 -1
- package/dist/internal/utils/data/auth-tag.d.ts.map +1 -1
- package/dist/internal/utils/data/auth-tag.js +28 -17
- package/dist/internal/utils/data/auth-tag.js.map +1 -1
- package/dist/internal/utils/data/get-initialisation-vector.d.ts.map +1 -1
- package/dist/internal/utils/data/get-initialisation-vector.js +2 -17
- package/dist/internal/utils/data/get-initialisation-vector.js.map +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 +12 -22
- 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.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.js +5 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman-key-wrap.js.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman.d.ts.map +1 -1
- package/dist/internal/utils/diffie-hellman/diffie-hellman.js +10 -2
- package/dist/internal/utils/diffie-hellman/diffie-hellman.js.map +1 -1
- package/dist/internal/utils/diffie-hellman/shared-secret.d.ts.map +1 -1
- package/dist/internal/utils/diffie-hellman/shared-secret.js +30 -6
- package/dist/internal/utils/diffie-hellman/shared-secret.js.map +1 -1
- package/dist/internal/utils/encoded-aes.d.ts.map +1 -1
- package/dist/internal/utils/encoded-aes.js +33 -18
- package/dist/internal/utils/encoded-aes.js.map +1 -1
- package/dist/internal/utils/encrypt-content.d.ts.map +1 -1
- package/dist/internal/utils/encrypt-content.js +14 -10
- package/dist/internal/utils/encrypt-content.js.map +1 -1
- package/dist/internal/utils/encryption.d.ts.map +1 -1
- package/dist/internal/utils/encryption.js +20 -12
- package/dist/internal/utils/encryption.js.map +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 +3 -0
- package/dist/internal/utils/get-key/get-decryption-key.js.map +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 +3 -0
- package/dist/internal/utils/get-key/get-encryption-key.js.map +1 -1
- package/dist/internal/utils/key-derivation/pbkdf.d.ts.map +1 -1
- package/dist/internal/utils/key-derivation/pbkdf.js +4 -1
- package/dist/internal/utils/key-derivation/pbkdf.js.map +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 +6 -0
- package/dist/internal/utils/key-types/get-ec-keys.js.map +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 +6 -0
- package/dist/internal/utils/key-types/get-oct-keys.js.map +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 +6 -0
- package/dist/internal/utils/key-types/get-okp-keys.js.map +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 +30 -6
- package/dist/internal/utils/key-types/get-rsa-keys.js.map +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 +10 -2
- package/dist/internal/utils/key-wrap/ecb-key-wrap.js.map +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 +20 -4
- package/dist/internal/utils/key-wrap/gcm-key-wrap.js.map +1 -1
- package/dist/internal/utils/key-wrap/key-wrap.d.ts.map +1 -1
- package/dist/internal/utils/key-wrap/key-wrap.js +10 -2
- package/dist/internal/utils/key-wrap/key-wrap.js.map +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 +20 -4
- 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.map +1 -1
- package/dist/internal/utils/oct/get-oct-key-key-wrap.js +17 -3
- 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.map +1 -1
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.js +17 -3
- package/dist/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.js.map +1 -1
- package/dist/internal/utils/tokenised-aes.d.ts.map +1 -1
- package/dist/internal/utils/tokenised-aes.js +19 -4
- package/dist/internal/utils/tokenised-aes.js.map +1 -1
- package/dist/internal/utils/validate-version.d.ts.map +1 -1
- package/dist/internal/utils/validate-version.js +12 -3
- package/dist/internal/utils/validate-version.js.map +1 -1
- package/dist/mocks/create-mock-aes-kit.d.ts.map +1 -1
- package/dist/mocks/create-mock-aes-kit.js +6 -0
- package/dist/mocks/create-mock-aes-kit.js.map +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/parse-aes.d.ts.map +1 -1
- package/dist/utils/parse-aes.js +5 -1
- package/dist/utils/parse-aes.js.map +1 -1
- package/package.json +7 -7
|
@@ -3,26 +3,42 @@ import { AesError } from "../../../errors/index.js";
|
|
|
3
3
|
import { calculateContentEncryptionKeySize } from "../calculate/calculate-content-encryption-key-size.js";
|
|
4
4
|
export const getOctDirEncryptionKey = ({ encryption, kryptos, }) => {
|
|
5
5
|
if (!KryptosKit.isOct(kryptos)) {
|
|
6
|
-
throw new AesError("Invalid Kryptos", {
|
|
6
|
+
throw new AesError("Invalid Kryptos", {
|
|
7
|
+
code: "invalid_kryptos",
|
|
8
|
+
title: "Invalid Kryptos",
|
|
9
|
+
details: "Direct (dir) encryption requires an oct (symmetric) Kryptos key type.",
|
|
10
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
11
|
+
});
|
|
7
12
|
}
|
|
8
13
|
const der = kryptos.export("der");
|
|
9
14
|
const keyLength = calculateContentEncryptionKeySize(encryption);
|
|
10
15
|
if (der.privateKey.length !== keyLength) {
|
|
11
16
|
throw new AesError("Invalid key length", {
|
|
12
|
-
|
|
17
|
+
code: "invalid_key_length",
|
|
18
|
+
title: "Invalid Key Length",
|
|
19
|
+
details: "The direct symmetric key length does not match the size required by the requested AES encryption algorithm.",
|
|
20
|
+
data: { keyLength, privateKeyLength: der.privateKey.length },
|
|
13
21
|
});
|
|
14
22
|
}
|
|
15
23
|
return { contentEncryptionKey: der.privateKey };
|
|
16
24
|
};
|
|
17
25
|
export const getOctDirDecryptionKey = ({ encryption, kryptos, }) => {
|
|
18
26
|
if (!KryptosKit.isOct(kryptos)) {
|
|
19
|
-
throw new AesError("Invalid Kryptos", {
|
|
27
|
+
throw new AesError("Invalid Kryptos", {
|
|
28
|
+
code: "invalid_kryptos",
|
|
29
|
+
title: "Invalid Kryptos",
|
|
30
|
+
details: "Direct (dir) decryption requires an oct (symmetric) Kryptos key type.",
|
|
31
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
32
|
+
});
|
|
20
33
|
}
|
|
21
34
|
const der = kryptos.export("der");
|
|
22
35
|
const keyLength = calculateContentEncryptionKeySize(encryption);
|
|
23
36
|
if (der.privateKey.length !== keyLength) {
|
|
24
37
|
throw new AesError("Invalid key length", {
|
|
25
|
-
|
|
38
|
+
code: "invalid_key_length",
|
|
39
|
+
title: "Invalid Key Length",
|
|
40
|
+
details: "The direct symmetric key length does not match the size required by the requested AES decryption algorithm.",
|
|
41
|
+
data: { keyLength, privateKeyLength: der.privateKey.length },
|
|
26
42
|
});
|
|
27
43
|
}
|
|
28
44
|
return { contentEncryptionKey: der.privateKey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-oct-dir-keys.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-dir-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAE1G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"get-oct-dir-keys.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-dir-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAE1G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACpC,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,uEAAuE;YAChF,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAEhE,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;YACvC,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EACL,6GAA6G;YAC/G,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,oBAAoB,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,UAAU,EACV,OAAO,GACW,EAAoB,EAAE;IACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACpC,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,uEAAuE;YAChF,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAEhE,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;YACvC,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EACL,6GAA6G;YAC/G,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,oBAAoB,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-oct-key-key-wrap.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-key-key-wrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAK/C,eAAO,MAAM,0BAA0B,GAAI,0BAGxC,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"get-oct-key-key-wrap.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-key-key-wrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAK/C,eAAO,MAAM,0BAA0B,GAAI,0BAGxC,gBAAgB,KAAG,eA8BrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,4EAKxC,iBAAiB,KAAG,gBA8BtB,CAAC"}
|
|
@@ -6,7 +6,12 @@ import { calculateKeyWrapSize } from "../calculate/calculate-key-wrap-size.js";
|
|
|
6
6
|
import { keyUnwrap, keyWrap } from "../key-wrap/key-wrap.js";
|
|
7
7
|
export const getOctKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
8
8
|
if (!KryptosKit.isOct(kryptos)) {
|
|
9
|
-
throw new AesError("Invalid Kryptos", {
|
|
9
|
+
throw new AesError("Invalid Kryptos", {
|
|
10
|
+
code: "invalid_kryptos",
|
|
11
|
+
title: "Invalid Kryptos",
|
|
12
|
+
details: "AES key-wrap encryption requires an oct (symmetric) Kryptos key type.",
|
|
13
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
14
|
+
});
|
|
10
15
|
}
|
|
11
16
|
const der = kryptos.export("der");
|
|
12
17
|
const cekSize = calculateContentEncryptionKeySize(encryption);
|
|
@@ -27,10 +32,19 @@ export const getOctKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
|
27
32
|
};
|
|
28
33
|
export const getOctKeyWrapDecryptionKey = ({ kryptos, publicEncryptionIv, publicEncryptionKey, publicEncryptionTag, }) => {
|
|
29
34
|
if (!KryptosKit.isOct(kryptos)) {
|
|
30
|
-
throw new AesError("Invalid Kryptos", {
|
|
35
|
+
throw new AesError("Invalid Kryptos", {
|
|
36
|
+
code: "invalid_kryptos",
|
|
37
|
+
title: "Invalid Kryptos",
|
|
38
|
+
details: "AES key-wrap decryption requires an oct (symmetric) Kryptos key type.",
|
|
39
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
40
|
+
});
|
|
31
41
|
}
|
|
32
42
|
if (!publicEncryptionKey) {
|
|
33
|
-
throw new AesError("Missing publicEncryptionKey"
|
|
43
|
+
throw new AesError("Missing publicEncryptionKey", {
|
|
44
|
+
code: "missing_public_encryption_key",
|
|
45
|
+
title: "Missing Public Encryption Key",
|
|
46
|
+
details: "AES key-wrap decryption requires the wrapped content encryption key, but it was not provided.",
|
|
47
|
+
});
|
|
34
48
|
}
|
|
35
49
|
const der = kryptos.export("der");
|
|
36
50
|
const keyWrapSize = calculateKeyWrapSize(kryptos.algorithm);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-oct-key-key-wrap.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-key-key-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"get-oct-key-key-wrap.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-key-key-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACpC,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,uEAAuE;YAChF,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjE,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QAC/E,oBAAoB;QACpB,OAAO;QACP,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,oBAAoB;QACpB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACD,EAAoB,EAAE;IACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACpC,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,uEAAuE;YAChF,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE;YAChD,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,+BAA+B;YACtC,OAAO,EACL,+FAA+F;SAClG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjE,OAAO,SAAS,CAAC;QACf,gBAAgB;QAChB,OAAO;QACP,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-oct-pbkdf-key-wrap-keys.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAO/C,eAAO,MAAM,+BAA+B,GAAI,0BAG7C,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"get-oct-pbkdf-key-wrap-keys.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAO/C,eAAO,MAAM,+BAA+B,GAAI,0BAG7C,gBAAgB,KAAG,eAkCrB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,+DAK7C,iBAAiB,KAAG,gBAkCtB,CAAC"}
|
|
@@ -8,7 +8,12 @@ import { pbkdf } from "../key-derivation/pbkdf.js";
|
|
|
8
8
|
import { ecbKeyUnwrap, ecbKeyWrap } from "../key-wrap/ecb-key-wrap.js";
|
|
9
9
|
export const getOctPbkdfKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
10
10
|
if (!KryptosKit.isOct(kryptos)) {
|
|
11
|
-
throw new AesError("Invalid Kryptos", {
|
|
11
|
+
throw new AesError("Invalid Kryptos", {
|
|
12
|
+
code: "invalid_kryptos",
|
|
13
|
+
title: "Invalid Kryptos",
|
|
14
|
+
details: "PBES2 key-wrap encryption requires an oct (symmetric) Kryptos key type.",
|
|
15
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
16
|
+
});
|
|
12
17
|
}
|
|
13
18
|
const der = kryptos.export("der");
|
|
14
19
|
const cekSize = calculateContentEncryptionKeySize(encryption);
|
|
@@ -33,10 +38,19 @@ export const getOctPbkdfKeyWrapEncryptionKey = ({ encryption, kryptos, }) => {
|
|
|
33
38
|
};
|
|
34
39
|
export const getOctPbkdfKeyWrapDecryptionKey = ({ kryptos, pbkdfIterations, pbkdfSalt, publicEncryptionKey, }) => {
|
|
35
40
|
if (!KryptosKit.isOct(kryptos)) {
|
|
36
|
-
throw new AesError("Invalid Kryptos", {
|
|
41
|
+
throw new AesError("Invalid Kryptos", {
|
|
42
|
+
code: "invalid_kryptos",
|
|
43
|
+
title: "Invalid Kryptos",
|
|
44
|
+
details: "PBES2 key-wrap decryption requires an oct (symmetric) Kryptos key type.",
|
|
45
|
+
debug: { kryptos: kryptos.toJSON() },
|
|
46
|
+
});
|
|
37
47
|
}
|
|
38
48
|
if (!publicEncryptionKey) {
|
|
39
|
-
throw new AesError("Missing publicEncryptionKey"
|
|
49
|
+
throw new AesError("Missing publicEncryptionKey", {
|
|
50
|
+
code: "missing_public_encryption_key",
|
|
51
|
+
title: "Missing Public Encryption Key",
|
|
52
|
+
details: "PBES2 key-wrap decryption requires the wrapped content encryption key, but it was not provided.",
|
|
53
|
+
});
|
|
40
54
|
}
|
|
41
55
|
const der = kryptos.export("der");
|
|
42
56
|
const { derivedKey } = pbkdf({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-oct-pbkdf-key-wrap-keys.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAC9C,UAAU,EACV,OAAO,GACU,EAAmB,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"get-oct-pbkdf-key-wrap-keys.js","sourceRoot":"","sources":["../../../../src/internal/utils/oct/get-oct-pbkdf-key-wrap-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenised-aes.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/tokenised-aes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAsB9E,eAAO,MAAM,wBAAwB,GAAI,MAAM,mBAAmB,KAAG,MAwBpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"tokenised-aes.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/tokenised-aes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAsB9E,eAAO,MAAM,wBAAwB,GAAI,MAAM,mBAAmB,KAAG,MAwBpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,yBAyFtD,CAAC"}
|
|
@@ -25,13 +25,20 @@ export const createTokenisedAesString = (data) => {
|
|
|
25
25
|
};
|
|
26
26
|
export const parseTokenisedAesString = (data) => {
|
|
27
27
|
if (!data.startsWith("aes:")) {
|
|
28
|
-
throw new AesError("Invalid tokenised AES string: must start with 'aes:'"
|
|
28
|
+
throw new AesError("Invalid tokenised AES string: must start with 'aes:'", {
|
|
29
|
+
code: "invalid_tokenised_string",
|
|
30
|
+
title: "Invalid Tokenised String",
|
|
31
|
+
details: "A tokenised AES string must begin with the 'aes:' prefix.",
|
|
32
|
+
});
|
|
29
33
|
}
|
|
30
34
|
const withoutPrefix = data.slice(4);
|
|
31
35
|
const parts = withoutPrefix.split("$");
|
|
32
36
|
if (parts.length < 4 || parts.length > 5) {
|
|
33
37
|
throw new AesError("Invalid tokenised AES string: unexpected number of segments", {
|
|
34
|
-
|
|
38
|
+
code: "invalid_tokenised_segments",
|
|
39
|
+
title: "Invalid Tokenised Segments",
|
|
40
|
+
details: "A tokenised AES string must contain 4 or 5 '$'-separated segments after the 'aes:' prefix.",
|
|
41
|
+
data: { segmentCount: parts.length },
|
|
35
42
|
});
|
|
36
43
|
}
|
|
37
44
|
const headerB64 = parts[0];
|
|
@@ -41,10 +48,18 @@ export const parseTokenisedAesString = (data) => {
|
|
|
41
48
|
const isDirect = header.alg === "dir" || header.alg === "ECDH-ES";
|
|
42
49
|
const hasCek = parts.length === 5;
|
|
43
50
|
if (isDirect && hasCek) {
|
|
44
|
-
throw new AesError("Invalid tokenised AES string: dir/ECDH-ES must not have CEK segment"
|
|
51
|
+
throw new AesError("Invalid tokenised AES string: dir/ECDH-ES must not have CEK segment", {
|
|
52
|
+
code: "invalid_tokenised_segments",
|
|
53
|
+
title: "Invalid Tokenised Segments",
|
|
54
|
+
details: "Direct (dir) and ECDH-ES algorithms derive the content encryption key and must not include a wrapped key segment.",
|
|
55
|
+
});
|
|
45
56
|
}
|
|
46
57
|
if (!isDirect && !hasCek) {
|
|
47
|
-
throw new AesError("Invalid tokenised AES string: non-dir algorithm must have CEK segment"
|
|
58
|
+
throw new AesError("Invalid tokenised AES string: non-dir algorithm must have CEK segment", {
|
|
59
|
+
code: "invalid_tokenised_segments",
|
|
60
|
+
title: "Invalid Tokenised Segments",
|
|
61
|
+
details: "Key-wrapping algorithms require a wrapped content encryption key segment, which was missing from the tokenised string.",
|
|
62
|
+
});
|
|
48
63
|
}
|
|
49
64
|
let publicEncryptionKey;
|
|
50
65
|
let ivB64;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenised-aes.js","sourceRoot":"","sources":["../../../src/internal/utils/tokenised-aes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EACL,cAAc,EACd,UAAU,EACV,eAAe,EACf,eAAe,EACf,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAezB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAyB,EAAU,EAAE;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;KAC9C,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5D,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;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAA6B,EAAE;IACjF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,QAAQ,CAAC,sDAAsD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenised-aes.js","sourceRoot":"","sources":["../../../src/internal/utils/tokenised-aes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-version.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-version.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"validate-version.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-version.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,KAAG,MAqC9C,CAAC"}
|
|
@@ -3,19 +3,28 @@ import { AesError } from "../../errors/AesError.js";
|
|
|
3
3
|
export const validateAesVersion = (v) => {
|
|
4
4
|
if (/^\d+$/.test(v)) {
|
|
5
5
|
throw new AesError("Legacy AES version format is no longer supported", {
|
|
6
|
-
|
|
6
|
+
code: "legacy_version_unsupported",
|
|
7
|
+
title: "Legacy Version Unsupported",
|
|
8
|
+
details: "The AES version is a legacy integer format that is no longer supported; a 'X.Y' version is required.",
|
|
9
|
+
data: { version: v },
|
|
7
10
|
});
|
|
8
11
|
}
|
|
9
12
|
const match = /^(\d+)\.(\d+)$/.exec(v);
|
|
10
13
|
if (!match) {
|
|
11
14
|
throw new AesError("Invalid AES version format", {
|
|
12
|
-
|
|
15
|
+
code: "invalid_version_format",
|
|
16
|
+
title: "Invalid Version Format",
|
|
17
|
+
details: "The AES version must be in 'X.Y' format where X and Y are integers.",
|
|
18
|
+
data: { version: v, expected: "X.Y" },
|
|
13
19
|
});
|
|
14
20
|
}
|
|
15
21
|
const major = parseInt(match[1], 10);
|
|
16
22
|
if (major !== AES_FORMAT_MAJOR) {
|
|
17
23
|
throw new AesError("Incompatible AES version", {
|
|
18
|
-
|
|
24
|
+
code: "incompatible_version",
|
|
25
|
+
title: "Incompatible Version",
|
|
26
|
+
details: "The AES version has a major number that does not match the major version supported by this library.",
|
|
27
|
+
data: { version: v, expectedMajor: AES_FORMAT_MAJOR },
|
|
19
28
|
});
|
|
20
29
|
}
|
|
21
30
|
return v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-version.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE;IAEtD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE;YACrE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"validate-version.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE;IAEtD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE;YACrE,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,4BAA4B;YACnC,OAAO,EACL,sGAAsG;YACxG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IAGD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,4BAA4B,EAAE;YAC/C,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,qEAAqE;YAC9E,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE;YAC7C,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EACL,qGAAqG;YACvG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-aes-kit.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-aes-kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,GAAG,EAAE,SAAS,QAAQ,KAAG,
|
|
1
|
+
{"version":3,"file":"create-mock-aes-kit.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-aes-kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,GAAG,EAAE,SAAS,QAAQ,KAAG,OA2FxE,CAAC"}
|
|
@@ -66,6 +66,12 @@ export const _createMockAesKit = (mockFn, kryptos) => {
|
|
|
66
66
|
}),
|
|
67
67
|
assert: mockFn(),
|
|
68
68
|
verify: returns(true),
|
|
69
|
+
encryptContent: impl((content) => ({
|
|
70
|
+
ciphertext: Buffer.isBuffer(content) ? content : Buffer.from(String(content)),
|
|
71
|
+
iv: Buffer.alloc(12),
|
|
72
|
+
tag: Buffer.alloc(16),
|
|
73
|
+
})),
|
|
74
|
+
decryptContent: impl((input) => input.ciphertext),
|
|
69
75
|
prepareEncryption: returns({
|
|
70
76
|
headerParams: {},
|
|
71
77
|
publicEncryptionKey: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-aes-kit.js","sourceRoot":"","sources":["../../src/mocks/create-mock-aes-kit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-mock-aes-kit.js","sourceRoot":"","sources":["../../src/mocks/create-mock-aes-kit.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { KryptosJwk } from "@lindorm/kryptos";
|
|
2
|
-
export type AesInternalEncryption = "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc" | "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm";
|
|
2
|
+
export type AesInternalEncryption = "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc" | "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm" | "aes-128-ccm" | "aes-256-ccm";
|
|
3
3
|
export type PublicEncryptionJwk = Pick<KryptosJwk, "crv" | "kty" | "x" | "y">;
|
|
4
4
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-aes.d.ts","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAM3B,KAAK,QAAQ,GAAG;IACd,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC;IAC1C,CAAC,IAAI,EAAE,uBAAuB,GAAG,yBAAyB,CAAC;IAC3D,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,MAAM,GAAG,mBAAmB,CAAC;CACrF,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"parse-aes.d.ts","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAM3B,KAAK,QAAQ,GAAG;IACd,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC;IAC1C,CAAC,IAAI,EAAE,uBAAuB,GAAG,yBAAyB,CAAC;IAC3D,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,MAAM,GAAG,mBAAmB,CAAC;CACrF,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAyBtB,CAAC"}
|
package/dist/utils/parse-aes.js
CHANGED
|
@@ -17,6 +17,10 @@ export const parseAes = (data) => {
|
|
|
17
17
|
if (isObject(data) && isAesSerialisedData(data)) {
|
|
18
18
|
return parseSerialisedAesRecord(data);
|
|
19
19
|
}
|
|
20
|
-
throw new AesError("Invalid AES data"
|
|
20
|
+
throw new AesError("Invalid AES data", {
|
|
21
|
+
code: "invalid_aes_data",
|
|
22
|
+
title: "Invalid AES Data",
|
|
23
|
+
details: "The input could not be recognised as a tokenised string, encoded string, decryption record, or serialised AES record.",
|
|
24
|
+
});
|
|
21
25
|
};
|
|
22
26
|
//# sourceMappingURL=parse-aes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-aes.js","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAS7E,MAAM,CAAC,MAAM,QAAQ,GAAa,CAChC,IAA4D,EACvD,EAAE;IACP,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-aes.js","sourceRoot":"","sources":["../../src/utils/parse-aes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAS7E,MAAM,CAAC,MAAM,QAAQ,GAAa,CAChC,IAA4D,EACvD,EAAE;IACP,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE;QACrC,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EACL,uHAAuH;KAC1H,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lindorm/aes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "AGPL-3.0-or-later",
|
|
5
5
|
"author": "Jonn Nilsson",
|
|
6
6
|
"repository": {
|
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@lindorm/b64": "^0.2.1",
|
|
48
|
-
"@lindorm/errors": "^0.
|
|
49
|
-
"@lindorm/is": "^0.2.
|
|
50
|
-
"@lindorm/kryptos": "^0.
|
|
51
|
-
"@lindorm/types": "^0.
|
|
52
|
-
"@lindorm/utils": "^0.8.
|
|
48
|
+
"@lindorm/errors": "^0.3.0",
|
|
49
|
+
"@lindorm/is": "^0.2.3",
|
|
50
|
+
"@lindorm/kryptos": "^0.9.0",
|
|
51
|
+
"@lindorm/types": "^0.8.0",
|
|
52
|
+
"@lindorm/utils": "^0.8.3"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@noble/ciphers": "^2.1.1",
|
|
56
56
|
"jose": "^6.2.1"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "fa9e8b77d1d8074f1092955ad8e79376145478bb"
|
|
59
59
|
}
|