@lindorm/aes 0.1.2 → 0.2.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 +24 -0
- package/dist/classes/AesKit.d.ts +2 -4
- package/dist/classes/AesKit.d.ts.map +1 -1
- package/dist/classes/AesKit.js +9 -17
- package/dist/classes/AesKit.js.map +1 -1
- package/dist/constants/version.d.ts +1 -1
- package/dist/constants/version.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/types/aes-cipher.d.ts +2 -2
- package/dist/types/aes-cipher.d.ts.map +1 -1
- package/dist/types/aes-data.d.ts +10 -10
- package/dist/types/aes-data.d.ts.map +1 -1
- package/dist/types/aes-encryption-data.d.ts +10 -6
- package/dist/types/aes-encryption-data.d.ts.map +1 -1
- package/dist/types/aes-kit.d.ts +4 -6
- package/dist/types/aes-kit.d.ts.map +1 -1
- package/dist/types/curve.d.ts +4 -0
- package/dist/types/curve.d.ts.map +1 -0
- package/dist/types/curve.js +3 -0
- package/dist/types/curve.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/private/aes-key-derivation.d.ts +2 -0
- package/dist/types/private/aes-key-derivation.d.ts.map +1 -0
- package/dist/types/private/aes-key-derivation.js +3 -0
- package/dist/types/private/aes-key-derivation.js.map +1 -0
- package/dist/types/private/aes-string.d.ts +18 -0
- package/dist/types/private/aes-string.d.ts.map +1 -0
- package/dist/types/private/aes-string.js +3 -0
- package/dist/types/private/aes-string.js.map +1 -0
- package/dist/types/{auth-tag.d.ts → private/auth-tag.d.ts} +7 -9
- package/dist/types/private/auth-tag.d.ts.map +1 -0
- package/dist/types/{auth-tag.js.map → private/auth-tag.js.map} +1 -1
- package/dist/types/private/content-encryption-key.d.ts +28 -0
- package/dist/types/private/content-encryption-key.d.ts.map +1 -0
- package/dist/types/private/content-encryption-key.js +3 -0
- package/dist/types/private/content-encryption-key.js.map +1 -0
- package/dist/types/private/index.d.ts +5 -0
- package/dist/types/private/index.d.ts.map +1 -0
- package/dist/{enums → types/private}/index.js +4 -4
- package/dist/types/private/index.js.map +1 -0
- package/dist/types/types.d.ts +3 -9
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/private/aes-data/auth-tag-hmac.d.ts +5 -0
- package/dist/utils/private/aes-data/auth-tag-hmac.d.ts.map +1 -0
- package/dist/utils/private/aes-data/auth-tag-hmac.js +37 -0
- package/dist/utils/private/aes-data/auth-tag-hmac.js.map +1 -0
- package/dist/utils/private/aes-data/auth-tag.d.ts +5 -0
- package/dist/utils/private/aes-data/auth-tag.d.ts.map +1 -0
- package/dist/utils/private/aes-data/auth-tag.js +52 -0
- package/dist/utils/private/aes-data/auth-tag.js.map +1 -0
- package/dist/utils/private/aes-data/get-initialisation-vector.d.ts +4 -0
- package/dist/utils/private/aes-data/get-initialisation-vector.d.ts.map +1 -0
- package/dist/utils/private/{get-initialisation-vector.js → aes-data/get-initialisation-vector.js} +7 -7
- package/dist/utils/private/aes-data/get-initialisation-vector.js.map +1 -0
- package/dist/utils/private/aes-data/split-content-encryption-key.d.ts +9 -0
- package/dist/utils/private/aes-data/split-content-encryption-key.d.ts.map +1 -0
- package/dist/utils/private/aes-data/split-content-encryption-key.js +31 -0
- package/dist/utils/private/aes-data/split-content-encryption-key.js.map +1 -0
- package/dist/utils/private/aes-data.d.ts.map +1 -1
- package/dist/utils/private/aes-data.js +31 -24
- package/dist/utils/private/aes-data.js.map +1 -1
- package/dist/utils/private/calculate/calculate-aes-encryption.d.ts +4 -0
- package/dist/utils/private/calculate/calculate-aes-encryption.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-aes-encryption.js +24 -0
- package/dist/utils/private/calculate/calculate-aes-encryption.js.map +1 -0
- package/dist/utils/private/calculate/calculate-content-encryption-key-size.d.ts +4 -0
- package/dist/utils/private/calculate/calculate-content-encryption-key-size.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-content-encryption-key-size.js +24 -0
- package/dist/utils/private/calculate/calculate-content-encryption-key-size.js.map +1 -0
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.d.ts +5 -0
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.js +23 -0
- package/dist/utils/private/calculate/calculate-key-wrap-encryption.js.map +1 -0
- package/dist/utils/private/calculate/calculate-key-wrap-size.d.ts +4 -0
- package/dist/utils/private/calculate/calculate-key-wrap-size.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-key-wrap-size.js +24 -0
- package/dist/utils/private/calculate/calculate-key-wrap-size.js.map +1 -0
- package/dist/utils/private/calculate/calculate-pbkdf-hash.d.ts +4 -0
- package/dist/utils/private/calculate/calculate-pbkdf-hash.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-pbkdf-hash.js +18 -0
- package/dist/utils/private/calculate/calculate-pbkdf-hash.js.map +1 -0
- package/dist/utils/private/calculate/calculate-rsa-oaep-hash.d.ts +4 -0
- package/dist/utils/private/calculate/calculate-rsa-oaep-hash.d.ts.map +1 -0
- package/dist/utils/private/calculate/calculate-rsa-oaep-hash.js +22 -0
- package/dist/utils/private/calculate/calculate-rsa-oaep-hash.js.map +1 -0
- package/dist/utils/private/decode-aes-string.d.ts.map +1 -1
- package/dist/utils/private/decode-aes-string.js +13 -11
- package/dist/utils/private/decode-aes-string.js.map +1 -1
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.d.ts +4 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.d.ts.map +1 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.js +50 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman-key-wrap.js.map +1 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman.d.ts +4 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman.d.ts.map +1 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman.js +40 -0
- package/dist/utils/private/diffie-hellman/diffie-hellman.js.map +1 -0
- package/dist/utils/private/diffie-hellman/shared-secret.d.ts +13 -0
- package/dist/utils/private/diffie-hellman/shared-secret.d.ts.map +1 -0
- package/dist/utils/private/diffie-hellman/shared-secret.js +68 -0
- package/dist/utils/private/diffie-hellman/shared-secret.js.map +1 -0
- package/dist/utils/private/encode-aes-string.d.ts +1 -1
- package/dist/utils/private/encode-aes-string.d.ts.map +1 -1
- package/dist/utils/private/encode-aes-string.js +12 -9
- package/dist/utils/private/encode-aes-string.js.map +1 -1
- package/dist/utils/private/get-key/get-decryption-key.d.ts +3 -0
- package/dist/utils/private/get-key/get-decryption-key.d.ts.map +1 -0
- package/dist/utils/private/get-key/get-decryption-key.js +26 -0
- package/dist/utils/private/get-key/get-decryption-key.js.map +1 -0
- package/dist/utils/private/get-key/get-encryption-key.d.ts +3 -0
- package/dist/utils/private/get-key/get-encryption-key.d.ts.map +1 -0
- package/dist/utils/private/get-key/get-encryption-key.js +26 -0
- package/dist/utils/private/get-key/get-encryption-key.js.map +1 -0
- package/dist/utils/private/key-derivation/hkdf.d.ts +14 -0
- package/dist/utils/private/key-derivation/hkdf.d.ts.map +1 -0
- package/dist/utils/private/key-derivation/hkdf.js +12 -0
- package/dist/utils/private/key-derivation/hkdf.js.map +1 -0
- package/dist/utils/private/key-derivation/pbkdf.d.ts +17 -0
- package/dist/utils/private/key-derivation/pbkdf.d.ts.map +1 -0
- package/dist/utils/private/key-derivation/pbkdf.js +13 -0
- package/dist/utils/private/key-derivation/pbkdf.js.map +1 -0
- package/dist/utils/private/key-types/get-ec-keys.d.ts +4 -0
- package/dist/utils/private/key-types/get-ec-keys.d.ts.map +1 -0
- package/dist/utils/private/key-types/get-ec-keys.js +37 -0
- package/dist/utils/private/key-types/get-ec-keys.js.map +1 -0
- package/dist/utils/private/key-types/get-oct-keys.d.ts +4 -0
- package/dist/utils/private/key-types/get-oct-keys.d.ts.map +1 -0
- package/dist/utils/private/key-types/get-oct-keys.js +46 -0
- package/dist/utils/private/key-types/get-oct-keys.js.map +1 -0
- package/dist/utils/private/key-types/get-okp-keys.d.ts +4 -0
- package/dist/utils/private/key-types/get-okp-keys.d.ts.map +1 -0
- package/dist/utils/private/key-types/get-okp-keys.js +28 -0
- package/dist/utils/private/key-types/get-okp-keys.js.map +1 -0
- package/dist/utils/private/key-types/get-rsa-keys.d.ts +4 -0
- package/dist/utils/private/key-types/get-rsa-keys.d.ts.map +1 -0
- package/dist/utils/private/key-types/get-rsa-keys.js +58 -0
- package/dist/utils/private/key-types/get-rsa-keys.js.map +1 -0
- package/dist/utils/private/key-wrap/key-wrap.d.ts +16 -0
- package/dist/utils/private/key-wrap/key-wrap.d.ts.map +1 -0
- package/dist/utils/private/key-wrap/key-wrap.js +66 -0
- package/dist/utils/private/key-wrap/key-wrap.js.map +1 -0
- package/dist/utils/private/oct/get-oct-dir-keys.d.ts +4 -0
- package/dist/utils/private/oct/get-oct-dir-keys.d.ts.map +1 -0
- package/dist/utils/private/oct/get-oct-dir-keys.js +35 -0
- package/dist/utils/private/oct/get-oct-dir-keys.js.map +1 -0
- package/dist/utils/private/oct/get-oct-key-wrap-keys.d.ts +4 -0
- package/dist/utils/private/oct/get-oct-key-wrap-keys.d.ts.map +1 -0
- package/dist/utils/private/oct/get-oct-key-wrap-keys.js +55 -0
- package/dist/utils/private/oct/get-oct-key-wrap-keys.js.map +1 -0
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.d.ts +4 -0
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.d.ts.map +1 -0
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.js +60 -0
- package/dist/utils/private/oct/get-oct-pbkdf-key-wrap-keys.js.map +1 -0
- package/package.json +8 -5
- package/dist/enums/AesEncryption.d.ts +0 -9
- package/dist/enums/AesEncryption.d.ts.map +0 -1
- package/dist/enums/AesEncryption.js +0 -13
- package/dist/enums/AesEncryption.js.map +0 -1
- package/dist/enums/AesEncryptionKeyAlgorithm.d.ts +0 -9
- package/dist/enums/AesEncryptionKeyAlgorithm.d.ts.map +0 -1
- package/dist/enums/AesEncryptionKeyAlgorithm.js +0 -13
- package/dist/enums/AesEncryptionKeyAlgorithm.js.map +0 -1
- package/dist/enums/AesFormat.d.ts +0 -6
- package/dist/enums/AesFormat.d.ts.map +0 -1
- package/dist/enums/AesFormat.js +0 -10
- package/dist/enums/AesFormat.js.map +0 -1
- package/dist/enums/AesIntegrityHash.d.ts +0 -6
- package/dist/enums/AesIntegrityHash.d.ts.map +0 -1
- package/dist/enums/AesIntegrityHash.js +0 -10
- package/dist/enums/AesIntegrityHash.js.map +0 -1
- package/dist/enums/index.d.ts +0 -5
- package/dist/enums/index.d.ts.map +0 -1
- package/dist/enums/index.js.map +0 -1
- package/dist/types/auth-tag.d.ts.map +0 -1
- package/dist/utils/private/auth-tag-hmac.d.ts +0 -5
- package/dist/utils/private/auth-tag-hmac.d.ts.map +0 -1
- package/dist/utils/private/auth-tag-hmac.js +0 -25
- package/dist/utils/private/auth-tag-hmac.js.map +0 -1
- package/dist/utils/private/auth-tag.d.ts +0 -5
- package/dist/utils/private/auth-tag.d.ts.map +0 -1
- package/dist/utils/private/auth-tag.js +0 -58
- package/dist/utils/private/auth-tag.js.map +0 -1
- package/dist/utils/private/ec/get-ec-keys.d.ts +0 -21
- package/dist/utils/private/ec/get-ec-keys.d.ts.map +0 -1
- package/dist/utils/private/ec/get-ec-keys.js +0 -55
- package/dist/utils/private/ec/get-ec-keys.js.map +0 -1
- package/dist/utils/private/ec/get-key-curve.d.ts +0 -4
- package/dist/utils/private/ec/get-key-curve.d.ts.map +0 -1
- package/dist/utils/private/ec/get-key-curve.js +0 -37
- package/dist/utils/private/ec/get-key-curve.js.map +0 -1
- package/dist/utils/private/get-decryption-key.d.ts +0 -13
- package/dist/utils/private/get-decryption-key.d.ts.map +0 -1
- package/dist/utils/private/get-decryption-key.js +0 -33
- package/dist/utils/private/get-decryption-key.js.map +0 -1
- package/dist/utils/private/get-encryption-keys.d.ts +0 -16
- package/dist/utils/private/get-encryption-keys.d.ts.map +0 -1
- package/dist/utils/private/get-encryption-keys.js +0 -23
- package/dist/utils/private/get-encryption-keys.js.map +0 -1
- package/dist/utils/private/get-initialisation-vector.d.ts +0 -4
- package/dist/utils/private/get-initialisation-vector.d.ts.map +0 -1
- package/dist/utils/private/get-initialisation-vector.js.map +0 -1
- package/dist/utils/private/oct/get-oct-keys.d.ts +0 -14
- package/dist/utils/private/oct/get-oct-keys.d.ts.map +0 -1
- package/dist/utils/private/oct/get-oct-keys.js +0 -24
- package/dist/utils/private/oct/get-oct-keys.js.map +0 -1
- package/dist/utils/private/rsa/generate-encryption-key.d.ts +0 -4
- package/dist/utils/private/rsa/generate-encryption-key.d.ts.map +0 -1
- package/dist/utils/private/rsa/generate-encryption-key.js +0 -8
- package/dist/utils/private/rsa/generate-encryption-key.js.map +0 -1
- package/dist/utils/private/rsa/get-oaep-hash.d.ts +0 -3
- package/dist/utils/private/rsa/get-oaep-hash.d.ts.map +0 -1
- package/dist/utils/private/rsa/get-oaep-hash.js +0 -22
- package/dist/utils/private/rsa/get-oaep-hash.js.map +0 -1
- package/dist/utils/private/rsa/get-rsa-keys.d.ts +0 -21
- package/dist/utils/private/rsa/get-rsa-keys.d.ts.map +0 -1
- package/dist/utils/private/rsa/get-rsa-keys.js +0 -22
- package/dist/utils/private/rsa/get-rsa-keys.js.map +0 -1
- package/dist/utils/private/rsa/public-encryption-key.d.ts +0 -17
- package/dist/utils/private/rsa/public-encryption-key.d.ts.map +0 -1
- package/dist/utils/private/rsa/public-encryption-key.js +0 -56
- package/dist/utils/private/rsa/public-encryption-key.js.map +0 -1
- package/dist/utils/private/secret/calculate-secret-length.d.ts +0 -3
- package/dist/utils/private/secret/calculate-secret-length.d.ts.map +0 -1
- package/dist/utils/private/secret/calculate-secret-length.js +0 -21
- package/dist/utils/private/secret/calculate-secret-length.js.map +0 -1
- package/dist/utils/private/secret/create-key-derivation.d.ts +0 -10
- package/dist/utils/private/secret/create-key-derivation.d.ts.map +0 -1
- package/dist/utils/private/secret/create-key-derivation.js +0 -35
- package/dist/utils/private/secret/create-key-derivation.js.map +0 -1
- /package/dist/types/{auth-tag.js → private/auth-tag.js} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._assertAuthTag = exports._createAuthTag = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const auth_tag_hmac_1 = require("./auth-tag-hmac");
|
|
6
|
+
const _createAuthTag = ({ encryption, cipher, content, hashKey, initialisationVector, }) => {
|
|
7
|
+
switch (encryption) {
|
|
8
|
+
case "A128CBC-HS256":
|
|
9
|
+
case "A192CBC-HS384":
|
|
10
|
+
case "A256CBC-HS512":
|
|
11
|
+
return (0, auth_tag_hmac_1._createHmacAuthTag)({
|
|
12
|
+
content,
|
|
13
|
+
encryption,
|
|
14
|
+
hashKey,
|
|
15
|
+
initialisationVector,
|
|
16
|
+
});
|
|
17
|
+
case "A128GCM":
|
|
18
|
+
case "A192GCM":
|
|
19
|
+
case "A256GCM":
|
|
20
|
+
return cipher.getAuthTag();
|
|
21
|
+
default:
|
|
22
|
+
throw new errors_1.AesError("Unexpected algorithm");
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports._createAuthTag = _createAuthTag;
|
|
26
|
+
const _assertAuthTag = ({ authTag, content, hashKey, decipher, encryption, initialisationVector, }) => {
|
|
27
|
+
if (!authTag) {
|
|
28
|
+
throw new errors_1.AesError("Auth tag is missing");
|
|
29
|
+
}
|
|
30
|
+
switch (encryption) {
|
|
31
|
+
case "A128CBC-HS256":
|
|
32
|
+
case "A192CBC-HS384":
|
|
33
|
+
case "A256CBC-HS512":
|
|
34
|
+
(0, auth_tag_hmac_1._assertHmacAuthTag)({
|
|
35
|
+
authTag,
|
|
36
|
+
content,
|
|
37
|
+
encryption,
|
|
38
|
+
hashKey,
|
|
39
|
+
initialisationVector,
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
case "A128GCM":
|
|
43
|
+
case "A192GCM":
|
|
44
|
+
case "A256GCM":
|
|
45
|
+
decipher.setAuthTag(authTag);
|
|
46
|
+
return;
|
|
47
|
+
default:
|
|
48
|
+
throw new errors_1.AesError("Unexpected algorithm");
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports._assertAuthTag = _assertAuthTag;
|
|
52
|
+
//# sourceMappingURL=auth-tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-tag.js","sourceRoot":"","sources":["../../../../src/utils/private/aes-data/auth-tag.ts"],"names":[],"mappings":";;;AACA,4CAA2C;AAE3C,mDAAyE;AAElE,MAAM,cAAc,GAAG,CAAC,EAC7B,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,kCAAkB,EAAC;gBACxB,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;AA1BW,QAAA,cAAc,kBA0BzB;AAEK,MAAM,cAAc,GAAG,CAAC,EAC7B,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,kCAAkB,EAAC;gBACjB,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;AAlCW,QAAA,cAAc,kBAkCzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-initialisation-vector.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/aes-data/get-initialisation-vector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,eAAO,MAAM,wBAAwB,eAAgB,iBAAiB,KAAG,MAiBxE,CAAC"}
|
package/dist/utils/private/{get-initialisation-vector.js → aes-data/get-initialisation-vector.js}
RENAMED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._getInitialisationVector = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
|
-
const errors_1 = require("
|
|
5
|
+
const errors_1 = require("../../../errors");
|
|
6
6
|
const _getInitialisationVector = (encryption) => {
|
|
7
7
|
switch (encryption) {
|
|
8
|
-
case "
|
|
9
|
-
case "
|
|
10
|
-
case "
|
|
8
|
+
case "A128CBC-HS256":
|
|
9
|
+
case "A192CBC-HS384":
|
|
10
|
+
case "A256CBC-HS512":
|
|
11
11
|
return (0, crypto_1.randomBytes)(16);
|
|
12
|
-
case "
|
|
13
|
-
case "
|
|
14
|
-
case "
|
|
12
|
+
case "A128GCM":
|
|
13
|
+
case "A192GCM":
|
|
14
|
+
case "A256GCM":
|
|
15
15
|
return (0, crypto_1.randomBytes)(12);
|
|
16
16
|
default:
|
|
17
17
|
throw new errors_1.AesError("Unexpected algorithm", {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-initialisation-vector.js","sourceRoot":"","sources":["../../../../src/utils/private/aes-data/get-initialisation-vector.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AACrC,4CAA2C;AAEpC,MAAM,wBAAwB,GAAG,CAAC,UAA6B,EAAU,EAAE;IAChF,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;QAEzB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;QAEzB;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,EAAE;gBACzC,KAAK,EAAE,EAAE,UAAU,EAAE;aACtB,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { KryptosEncryption } from "@lindorm/kryptos";
|
|
3
|
+
type Result = {
|
|
4
|
+
encryptionKey: Buffer;
|
|
5
|
+
hashKey: Buffer;
|
|
6
|
+
};
|
|
7
|
+
export declare const _splitContentEncryptionKey: (encryption: KryptosEncryption, contentEncryptionKey: Buffer) => Result;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=split-content-encryption-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-content-encryption-key.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/aes-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,0BAA0B,eACzB,iBAAiB,wBACP,MAAM,KAC3B,MAcF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._splitContentEncryptionKey = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const encryptionKeyLength = (encryption) => {
|
|
6
|
+
switch (encryption) {
|
|
7
|
+
case "A128CBC-HS256":
|
|
8
|
+
case "A128GCM":
|
|
9
|
+
return 16;
|
|
10
|
+
case "A192CBC-HS384":
|
|
11
|
+
case "A192GCM":
|
|
12
|
+
return 24;
|
|
13
|
+
case "A256CBC-HS512":
|
|
14
|
+
case "A256GCM":
|
|
15
|
+
return 32;
|
|
16
|
+
default:
|
|
17
|
+
throw new errors_1.AesError("Unexpected algorithm");
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const _splitContentEncryptionKey = (encryption, contentEncryptionKey) => {
|
|
21
|
+
const keyLength = encryptionKeyLength(encryption);
|
|
22
|
+
const encryptionKey = contentEncryptionKey.subarray(0, keyLength);
|
|
23
|
+
const hashKey = contentEncryptionKey.subarray(keyLength);
|
|
24
|
+
if (hashKey.length &&
|
|
25
|
+
(encryption === "A128GCM" || encryption === "A192GCM" || encryption === "A256GCM")) {
|
|
26
|
+
throw new errors_1.AesError("Unexpected hash key");
|
|
27
|
+
}
|
|
28
|
+
return { encryptionKey, hashKey };
|
|
29
|
+
};
|
|
30
|
+
exports._splitContentEncryptionKey = _splitContentEncryptionKey;
|
|
31
|
+
//# sourceMappingURL=split-content-encryption-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-content-encryption-key.js","sourceRoot":"","sources":["../../../../src/utils/private/aes-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,0BAA0B,GAAG,CACxC,UAA6B,EAC7B,oBAA4B,EACpB,EAAE;IACV,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEzD,IACE,OAAO,CAAC,MAAM;QACd,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,EAClF,CAAC;QACD,MAAM,IAAI,iBAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC,CAAC;AAjBW,QAAA,0BAA0B,8BAiBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-data.d.ts","sourceRoot":"","sources":["../../../src/utils/private/aes-data.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"aes-data.d.ts","sourceRoot":"","sources":["../../../src/utils/private/aes-data.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,iBAkDhE,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,MA0ChE,CAAC"}
|
|
@@ -3,38 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports._decryptAesData = exports._encryptAesData = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
|
-
const auth_tag_1 = require("./auth-tag");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
6
|
+
const auth_tag_1 = require("./aes-data/auth-tag");
|
|
7
|
+
const get_initialisation_vector_1 = require("./aes-data/get-initialisation-vector");
|
|
8
|
+
const split_content_encryption_key_1 = require("./aes-data/split-content-encryption-key");
|
|
9
|
+
const calculate_aes_encryption_1 = require("./calculate/calculate-aes-encryption");
|
|
10
|
+
const get_decryption_key_1 = require("./get-key/get-decryption-key");
|
|
11
|
+
const get_encryption_key_1 = require("./get-key/get-encryption-key");
|
|
10
12
|
const _encryptAesData = (options) => {
|
|
11
|
-
const { data, encryption = "
|
|
12
|
-
const {
|
|
13
|
+
const { data, encryption = "A256GCM", format = "base64url", kryptos } = options;
|
|
14
|
+
const { contentEncryptionKey, hkdfSalt, pbkdfIterations, pbkdfSalt, publicEncryptionJwk, publicEncryptionKey, } = (0, get_encryption_key_1._getEncryptionKey)({
|
|
13
15
|
encryption,
|
|
14
16
|
kryptos,
|
|
15
|
-
encryptionKeyAlgorithm,
|
|
16
17
|
});
|
|
18
|
+
const { encryptionKey, hashKey } = (0, split_content_encryption_key_1._splitContentEncryptionKey)(encryption, contentEncryptionKey);
|
|
19
|
+
const aesEncryption = (0, calculate_aes_encryption_1._calculateAesEncryption)(encryption);
|
|
17
20
|
const initialisationVector = (0, get_initialisation_vector_1._getInitialisationVector)(encryption);
|
|
18
|
-
const cipher = (0, crypto_1.createCipheriv)(
|
|
21
|
+
const cipher = (0, crypto_1.createCipheriv)(aesEncryption, encryptionKey, initialisationVector);
|
|
19
22
|
const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
20
23
|
const content = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
21
|
-
const authTag = (0, auth_tag_1.
|
|
22
|
-
encryption,
|
|
24
|
+
const authTag = (0, auth_tag_1._createAuthTag)({
|
|
23
25
|
cipher,
|
|
24
26
|
content,
|
|
25
|
-
|
|
27
|
+
hashKey,
|
|
28
|
+
encryption,
|
|
26
29
|
initialisationVector,
|
|
27
|
-
integrityHash,
|
|
28
30
|
});
|
|
29
31
|
return {
|
|
30
|
-
|
|
32
|
+
algorithm: kryptos.algorithm,
|
|
31
33
|
authTag,
|
|
32
34
|
content,
|
|
35
|
+
encryption,
|
|
33
36
|
format,
|
|
37
|
+
hkdfSalt,
|
|
34
38
|
initialisationVector,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
keyId: Buffer.from(kryptos.id, format),
|
|
40
|
+
pbkdfIterations,
|
|
41
|
+
pbkdfSalt,
|
|
38
42
|
publicEncryptionJwk,
|
|
39
43
|
publicEncryptionKey,
|
|
40
44
|
version: constants_1.LATEST_AES_VERSION,
|
|
@@ -42,23 +46,26 @@ const _encryptAesData = (options) => {
|
|
|
42
46
|
};
|
|
43
47
|
exports._encryptAesData = _encryptAesData;
|
|
44
48
|
const _decryptAesData = (options) => {
|
|
45
|
-
const { authTag, content, encryption,
|
|
46
|
-
const
|
|
49
|
+
const { authTag, content, encryption, hkdfSalt, initialisationVector, kryptos, pbkdfIterations, pbkdfSalt, publicEncryptionJwk, publicEncryptionKey, } = options;
|
|
50
|
+
const { contentEncryptionKey } = (0, get_decryption_key_1._getDecryptionKey)({
|
|
47
51
|
encryption,
|
|
48
|
-
|
|
52
|
+
hkdfSalt,
|
|
49
53
|
kryptos,
|
|
54
|
+
pbkdfIterations,
|
|
55
|
+
pbkdfSalt,
|
|
50
56
|
publicEncryptionJwk,
|
|
51
57
|
publicEncryptionKey,
|
|
52
58
|
});
|
|
53
|
-
const
|
|
54
|
-
(0,
|
|
55
|
-
|
|
59
|
+
const { encryptionKey, hashKey } = (0, split_content_encryption_key_1._splitContentEncryptionKey)(encryption, contentEncryptionKey);
|
|
60
|
+
const aesEncryption = (0, calculate_aes_encryption_1._calculateAesEncryption)(encryption);
|
|
61
|
+
const decipher = (0, crypto_1.createDecipheriv)(aesEncryption, encryptionKey, initialisationVector);
|
|
62
|
+
(0, auth_tag_1._assertAuthTag)({
|
|
56
63
|
authTag,
|
|
57
64
|
content,
|
|
65
|
+
hashKey,
|
|
58
66
|
decipher,
|
|
59
|
-
|
|
67
|
+
encryption,
|
|
60
68
|
initialisationVector,
|
|
61
|
-
integrityHash,
|
|
62
69
|
});
|
|
63
70
|
return Buffer.concat([decipher.update(content), decipher.final()]).toString("utf-8");
|
|
64
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-data.js","sourceRoot":"","sources":["../../../src/utils/private/aes-data.ts"],"names":[],"mappings":";;;AAAA,mCAA0D;AAC1D,+CAAqD;
|
|
1
|
+
{"version":3,"file":"aes-data.js","sourceRoot":"","sources":["../../../src/utils/private/aes-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-aes-encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-aes-encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,uBAAuB,eAAgB,iBAAiB,KAAG,aAuBvE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculateAesEncryption = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const _calculateAesEncryption = (encryption) => {
|
|
6
|
+
switch (encryption) {
|
|
7
|
+
case "A128CBC-HS256":
|
|
8
|
+
return "aes-128-cbc";
|
|
9
|
+
case "A192CBC-HS384":
|
|
10
|
+
return "aes-192-cbc";
|
|
11
|
+
case "A256CBC-HS512":
|
|
12
|
+
return "aes-256-cbc";
|
|
13
|
+
case "A128GCM":
|
|
14
|
+
return "aes-128-gcm";
|
|
15
|
+
case "A192GCM":
|
|
16
|
+
return "aes-192-gcm";
|
|
17
|
+
case "A256GCM":
|
|
18
|
+
return "aes-256-gcm";
|
|
19
|
+
default:
|
|
20
|
+
throw new errors_1.AesError("Unsupported encryption algorithm");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports._calculateAesEncryption = _calculateAesEncryption;
|
|
24
|
+
//# sourceMappingURL=calculate-aes-encryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-aes-encryption.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-aes-encryption.ts"],"names":[],"mappings":";;;AACA,4CAA2C;AAGpC,MAAM,uBAAuB,GAAG,CAAC,UAA6B,EAAiB,EAAE;IACtF,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;QAEvB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;QAEvB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;QAEvB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QAEvB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QAEvB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QAEvB;YACE,MAAM,IAAI,iBAAQ,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,uBAAuB,2BAuBlC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { KryptosEncryption } from "@lindorm/kryptos";
|
|
2
|
+
import { AesKeyLength } from "@lindorm/types";
|
|
3
|
+
export declare const _calculateContentEncryptionKeySize: (encryption: KryptosEncryption) => AesKeyLength;
|
|
4
|
+
//# sourceMappingURL=calculate-content-encryption-key-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-content-encryption-key-size.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-content-encryption-key-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,kCAAkC,eACjC,iBAAiB,KAC5B,YAuBF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculateContentEncryptionKeySize = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const _calculateContentEncryptionKeySize = (encryption) => {
|
|
6
|
+
switch (encryption) {
|
|
7
|
+
case "A128GCM":
|
|
8
|
+
return 16;
|
|
9
|
+
case "A192GCM":
|
|
10
|
+
return 24;
|
|
11
|
+
case "A256GCM":
|
|
12
|
+
return 32;
|
|
13
|
+
case "A128CBC-HS256":
|
|
14
|
+
return 48;
|
|
15
|
+
case "A192CBC-HS384":
|
|
16
|
+
return 72;
|
|
17
|
+
case "A256CBC-HS512":
|
|
18
|
+
return 96;
|
|
19
|
+
default:
|
|
20
|
+
throw new errors_1.AesError("Unsupported encryption", { debug: { encryption } });
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports._calculateContentEncryptionKeySize = _calculateContentEncryptionKeySize;
|
|
24
|
+
//# sourceMappingURL=calculate-content-encryption-key-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-content-encryption-key-size.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-content-encryption-key-size.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAEpC,MAAM,kCAAkC,GAAG,CAChD,UAA6B,EACf,EAAE;IAChB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QAEZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QAEZ;YACE,MAAM,IAAI,iBAAQ,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC;AAzBW,QAAA,kCAAkC,sCAyB7C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IKryptos } from "@lindorm/kryptos";
|
|
2
|
+
type KeywrapEncryption = "aes-128-ecb" | "aes-192-ecb" | "aes-256-ecb";
|
|
3
|
+
export declare const _calculateKeyWrapEncryption: (kryptos: IKryptos) => KeywrapEncryption;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=calculate-key-wrap-encryption.d.ts.map
|
|
@@ -0,0 +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;AAE5C,KAAK,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAEvE,eAAO,MAAM,2BAA2B,YAAa,QAAQ,KAAG,iBAoB/D,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculateKeyWrapEncryption = void 0;
|
|
4
|
+
const _calculateKeyWrapEncryption = (kryptos) => {
|
|
5
|
+
switch (kryptos.algorithm) {
|
|
6
|
+
case "A128KW":
|
|
7
|
+
case "ECDH-ES+A128KW":
|
|
8
|
+
case "PBES2-HS256+A128KW":
|
|
9
|
+
return "aes-128-ecb";
|
|
10
|
+
case "A192KW":
|
|
11
|
+
case "ECDH-ES+A192KW":
|
|
12
|
+
case "PBES2-HS384+A192KW":
|
|
13
|
+
return "aes-192-ecb";
|
|
14
|
+
case "A256KW":
|
|
15
|
+
case "ECDH-ES+A256KW":
|
|
16
|
+
case "PBES2-HS512+A256KW":
|
|
17
|
+
return "aes-256-ecb";
|
|
18
|
+
default:
|
|
19
|
+
throw new Error("Unsupported keywrap encryption");
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports._calculateKeyWrapEncryption = _calculateKeyWrapEncryption;
|
|
23
|
+
//# sourceMappingURL=calculate-key-wrap-encryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-key-wrap-encryption.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-encryption.ts"],"names":[],"mappings":";;;AAIO,MAAM,2BAA2B,GAAG,CAAC,OAAiB,EAAqB,EAAE;IAClF,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;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,2BAA2B,+BAoBtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-key-wrap-size.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,qBAAqB,cAAe,gBAAgB,KAAG,YAoBnE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculateKeyWrapSize = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const _calculateKeyWrapSize = (algorithm) => {
|
|
6
|
+
switch (algorithm) {
|
|
7
|
+
case "A128KW":
|
|
8
|
+
case "ECDH-ES+A128KW":
|
|
9
|
+
case "PBES2-HS256+A128KW":
|
|
10
|
+
return 16;
|
|
11
|
+
case "A192KW":
|
|
12
|
+
case "ECDH-ES+A192KW":
|
|
13
|
+
case "PBES2-HS384+A192KW":
|
|
14
|
+
return 24;
|
|
15
|
+
case "A256KW":
|
|
16
|
+
case "ECDH-ES+A256KW":
|
|
17
|
+
case "PBES2-HS512+A256KW":
|
|
18
|
+
return 32;
|
|
19
|
+
default:
|
|
20
|
+
throw new errors_1.AesError("Unsupported algorithm", { debug: { algorithm } });
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports._calculateKeyWrapSize = _calculateKeyWrapSize;
|
|
24
|
+
//# sourceMappingURL=calculate-key-wrap-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-key-wrap-size.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-key-wrap-size.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAEpC,MAAM,qBAAqB,GAAG,CAAC,SAA2B,EAAgB,EAAE;IACjF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QAEZ,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QAEZ,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QAEZ;YACE,MAAM,IAAI,iBAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,qBAAqB,yBAoBhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-pbkdf-hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-pbkdf-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,wBAAwB,YAAa,QAAQ,KAAG,YAc5D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculatePbkdfAlgorithm = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const _calculatePbkdfAlgorithm = (kryptos) => {
|
|
6
|
+
switch (kryptos.algorithm) {
|
|
7
|
+
case "PBES2-HS256+A128KW":
|
|
8
|
+
return "SHA256";
|
|
9
|
+
case "PBES2-HS384+A192KW":
|
|
10
|
+
return "SHA384";
|
|
11
|
+
case "PBES2-HS512+A256KW":
|
|
12
|
+
return "SHA512";
|
|
13
|
+
default:
|
|
14
|
+
throw new errors_1.AesError("Unsupported PBKDF2 algorithm");
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports._calculatePbkdfAlgorithm = _calculatePbkdfAlgorithm;
|
|
18
|
+
//# sourceMappingURL=calculate-pbkdf-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-pbkdf-hash.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-pbkdf-hash.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAEpC,MAAM,wBAAwB,GAAG,CAAC,OAAiB,EAAgB,EAAE;IAC1E,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,oBAAoB;YACvB,OAAO,QAAQ,CAAC;QAElB,KAAK,oBAAoB;YACvB,OAAO,QAAQ,CAAC;QAElB,KAAK,oBAAoB;YACvB,OAAO,QAAQ,CAAC;QAElB;YACE,MAAM,IAAI,iBAAQ,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,wBAAwB,4BAcnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-rsa-oaep-hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-rsa-oaep-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,qBAAqB,cAAe,gBAAgB,KAAG,YAmBnE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._calculateRsaOaepHash = void 0;
|
|
4
|
+
const errors_1 = require("../../../errors");
|
|
5
|
+
const _calculateRsaOaepHash = (algorithm) => {
|
|
6
|
+
switch (algorithm) {
|
|
7
|
+
case "RSA-OAEP":
|
|
8
|
+
return "SHA1";
|
|
9
|
+
case "RSA-OAEP-256":
|
|
10
|
+
return "SHA256";
|
|
11
|
+
case "RSA-OAEP-384":
|
|
12
|
+
return "SHA384";
|
|
13
|
+
case "RSA-OAEP-512":
|
|
14
|
+
return "SHA512";
|
|
15
|
+
default:
|
|
16
|
+
throw new errors_1.AesError("Unexpected encryption key algorithm", {
|
|
17
|
+
debug: { algorithm },
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports._calculateRsaOaepHash = _calculateRsaOaepHash;
|
|
22
|
+
//# sourceMappingURL=calculate-rsa-oaep-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-rsa-oaep-hash.js","sourceRoot":"","sources":["../../../../src/utils/private/calculate/calculate-rsa-oaep-hash.ts"],"names":[],"mappings":";;;AAEA,4CAA2C;AAEpC,MAAM,qBAAqB,GAAG,CAAC,SAA2B,EAAgB,EAAE;IACjF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAEhB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAElB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAElB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAElB;YACE,MAAM,IAAI,iBAAQ,CAAC,qCAAqC,EAAE;gBACxD,KAAK,EAAE,EAAE,SAAS,EAAE;aACrB,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAnBW,QAAA,qBAAqB,yBAmBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-aes-string.d.ts","sourceRoot":"","sources":["../../../src/utils/private/decode-aes-string.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decode-aes-string.d.ts","sourceRoot":"","sources":["../../../src/utils/private/decode-aes-string.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKhD,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,iBA6D/C,CAAC"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._decodeAesString = void 0;
|
|
4
4
|
const errors_1 = require("../../errors");
|
|
5
|
-
const regex = /(?<key>[a-
|
|
5
|
+
const regex = /(?<key>[a-z0-9]+)=(?<value>.+)/g;
|
|
6
6
|
const _decodeAesString = (data) => {
|
|
7
|
-
const [_,
|
|
8
|
-
const
|
|
7
|
+
const [_, enc, array, content] = data.split("$");
|
|
8
|
+
const encryption = enc;
|
|
9
9
|
const items = array.split(",");
|
|
10
10
|
const values = {};
|
|
11
11
|
for (const item of items) {
|
|
@@ -17,21 +17,23 @@ const _decodeAesString = (data) => {
|
|
|
17
17
|
}
|
|
18
18
|
values[match.groups.key] = match.groups.value;
|
|
19
19
|
}
|
|
20
|
-
const {
|
|
20
|
+
const { v, f, alg, iv, kid, tag, hks, p2c, p2s, pek, crv: curve, kty: keyType, x, y, } = values;
|
|
21
21
|
const crv = curve;
|
|
22
22
|
const format = f;
|
|
23
23
|
const kty = keyType;
|
|
24
24
|
return {
|
|
25
|
-
|
|
26
|
-
authTag: tag ? Buffer.from(tag, format) : undefined,
|
|
25
|
+
authTag: Buffer.from(tag, format),
|
|
27
26
|
content: Buffer.from(content, format),
|
|
28
|
-
|
|
27
|
+
encryption: encryption,
|
|
28
|
+
algorithm: alg,
|
|
29
29
|
format,
|
|
30
|
-
|
|
30
|
+
hkdfSalt: hks ? Buffer.from(hks, format) : undefined,
|
|
31
31
|
initialisationVector: Buffer.from(iv, format),
|
|
32
|
-
keyId:
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
keyId: Buffer.from(kid, format),
|
|
33
|
+
pbkdfIterations: p2c ? parseInt(p2c, 10) : undefined,
|
|
34
|
+
pbkdfSalt: p2s ? Buffer.from(p2s, format) : undefined,
|
|
35
|
+
publicEncryptionJwk: crv && x && kty ? { crv, x, y, kty } : undefined,
|
|
36
|
+
publicEncryptionKey: pek ? Buffer.from(pek, format) : undefined,
|
|
35
37
|
version: parseInt(v, 10),
|
|
36
38
|
};
|
|
37
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-aes-string.js","sourceRoot":"","sources":["../../../src/utils/private/decode-aes-string.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"decode-aes-string.js","sourceRoot":"","sources":["../../../src/utils/private/decode-aes-string.ts"],"names":[],"mappings":";;;AAEA,yCAAwC;AAIxC,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAEzC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAqB,EAAE;IAClE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,GAAwB,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE;gBAC9C,KAAK,EAAE,EAAE,IAAI,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAChD,CAAC;IAED,MAAM,EACJ,CAAC,EACD,CAAC,EAGD,GAAG,EACH,EAAE,EACF,GAAG,EACH,GAAG,EAGH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EAGH,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,CAAC,EACD,CAAC,GACF,GAAG,MAAoC,CAAC;IAEzC,MAAM,GAAG,GAAG,KAAqB,CAAC;IAClC,MAAM,MAAM,GAAG,CAAiB,CAAC;IACjC,MAAM,GAAG,GAAG,OAAuB,CAAC;IAEpC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;QACrC,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,GAAuB;QAClC,MAAM;QACN,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACpD,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAC/B,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACpD,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrD,mBAAmB,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QACrE,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AA7DW,QAAA,gBAAgB,oBA6D3B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CreateCekOptions, CreateCekResult, DecryptCekOptions, DecryptCekResult } from "../../../types/private";
|
|
2
|
+
export declare const _getDiffieHellmanKeyWrapEncryptionKey: ({ encryption, kryptos, }: CreateCekOptions) => CreateCekResult;
|
|
3
|
+
export declare const _getDiffieHellmanKeyWrapDecryptionKey: ({ hkdfSalt, kryptos, publicEncryptionJwk, publicEncryptionKey, }: DecryptCekOptions) => DecryptCekResult;
|
|
4
|
+
//# sourceMappingURL=diffie-hellman-key-wrap.d.ts.map
|
|
@@ -0,0 +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;AAOhC,eAAO,MAAM,qCAAqC,6BAG/C,gBAAgB,KAAG,eAuBrB,CAAC;AAEF,eAAO,MAAM,qCAAqC,qEAK/C,iBAAiB,KAAG,gBAoBtB,CAAC"}
|