@lindorm/aes 0.1.3 → 0.3.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 +26 -0
- package/dist/classes/AesKit.d.ts +2 -5
- package/dist/classes/AesKit.d.ts.map +1 -1
- package/dist/classes/AesKit.js +9 -21
- package/dist/classes/AesKit.js.map +1 -1
- package/dist/constants/private/format.d.ts +2 -0
- package/dist/constants/private/format.d.ts.map +1 -0
- package/dist/constants/private/format.js +5 -0
- package/dist/constants/private/format.js.map +1 -0
- 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 +11 -11
- package/dist/types/aes-data.d.ts.map +1 -1
- package/dist/types/aes-encryption-data.d.ts +11 -7
- package/dist/types/aes-encryption-data.d.ts.map +1 -1
- package/dist/types/aes-kit.d.ts +3 -7
- 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 +19 -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 +32 -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 +6 -0
- package/dist/types/private/index.d.ts.map +1 -0
- package/dist/{enums → types/private}/index.js +5 -4
- package/dist/types/private/index.js.map +1 -0
- package/dist/types/private/key-wrap.d.ts +23 -0
- package/dist/types/private/key-wrap.d.ts.map +1 -0
- package/dist/types/private/key-wrap.js +3 -0
- package/dist/types/private/key-wrap.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 +36 -25
- 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 +32 -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 +30 -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 +18 -15
- 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 +53 -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 +16 -11
- 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 +43 -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 +52 -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 +43 -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/ecb-key-wrap.d.ts +4 -0
- package/dist/utils/private/key-wrap/ecb-key-wrap.d.ts.map +1 -0
- package/dist/utils/private/key-wrap/ecb-key-wrap.js +66 -0
- package/dist/utils/private/key-wrap/ecb-key-wrap.js.map +1 -0
- package/dist/utils/private/key-wrap/gcm-key-wrap.d.ts +4 -0
- package/dist/utils/private/key-wrap/gcm-key-wrap.d.ts.map +1 -0
- package/dist/utils/private/key-wrap/gcm-key-wrap.js +36 -0
- package/dist/utils/private/key-wrap/gcm-key-wrap.js.map +1 -0
- package/dist/utils/private/key-wrap/key-wrap.d.ts +4 -0
- package/dist/utils/private/key-wrap/key-wrap.d.ts.map +1 -0
- package/dist/utils/private/key-wrap/key-wrap.js +49 -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-key-wrap.d.ts +4 -0
- package/dist/utils/private/oct/get-oct-key-key-wrap.d.ts.map +1 -0
- package/dist/utils/private/oct/get-oct-key-key-wrap.js +58 -0
- package/dist/utils/private/oct/get-oct-key-key-wrap.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 +59 -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,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._assertHmacAuthTag = exports._createHmacAuthTag = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const errors_1 = require("../../../errors");
|
|
6
|
+
const _shaHash = (encryption) => {
|
|
7
|
+
switch (encryption) {
|
|
8
|
+
case "A128CBC-HS256":
|
|
9
|
+
return "SHA256";
|
|
10
|
+
case "A192CBC-HS384":
|
|
11
|
+
return "SHA384";
|
|
12
|
+
case "A256CBC-HS512":
|
|
13
|
+
return "SHA512";
|
|
14
|
+
default:
|
|
15
|
+
throw new errors_1.AesError("Unexpected algorithm");
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const _createHmacAuthTag = ({ content, hashKey, initialisationVector, encryption, }) => {
|
|
19
|
+
const hmac = (0, crypto_1.createHmac)(_shaHash(encryption), hashKey);
|
|
20
|
+
hmac.update(initialisationVector);
|
|
21
|
+
hmac.update(content);
|
|
22
|
+
return hmac.digest();
|
|
23
|
+
};
|
|
24
|
+
exports._createHmacAuthTag = _createHmacAuthTag;
|
|
25
|
+
const _assertHmacAuthTag = ({ authTag, content, encryption, hashKey, initialisationVector, }) => {
|
|
26
|
+
const generated = (0, exports._createHmacAuthTag)({
|
|
27
|
+
content,
|
|
28
|
+
encryption,
|
|
29
|
+
hashKey,
|
|
30
|
+
initialisationVector,
|
|
31
|
+
});
|
|
32
|
+
if (Buffer.compare(generated, authTag) === 0)
|
|
33
|
+
return;
|
|
34
|
+
throw new errors_1.AesError("Auth tag verification failed");
|
|
35
|
+
};
|
|
36
|
+
exports._assertHmacAuthTag = _assertHmacAuthTag;
|
|
37
|
+
//# sourceMappingURL=auth-tag-hmac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-tag-hmac.js","sourceRoot":"","sources":["../../../../src/utils/private/aes-data/auth-tag-hmac.ts"],"names":[],"mappings":";;;AAEA,mCAAoC;AACpC,4CAA2C;AAG3C,MAAM,QAAQ,GAAG,CAAC,UAA6B,EAAgB,EAAE;IAC/D,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAElB;YACE,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EACjC,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,UAAU,GACQ,EAAU,EAAE;IAC9B,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAEvD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,kBAAkB,GAAG,CAAC,EACjC,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,EACP,oBAAoB,GACF,EAAQ,EAAE;IAC5B,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC;QACnC,OAAO;QACP,UAAU;QACV,OAAO;QACP,oBAAoB;KACrB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO;IAErD,MAAM,IAAI,iBAAQ,CAAC,8BAA8B,CAAC,CAAC;AACrD,CAAC,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { GetAuthTagOptions, SetAuthTagOptions } from "../../../types/private";
|
|
3
|
+
export declare const _createAuthTag: ({ encryption, cipher, content, hashKey, initialisationVector, }: GetAuthTagOptions) => Buffer;
|
|
4
|
+
export declare const _assertAuthTag: ({ authTag, content, hashKey, decipher, encryption, initialisationVector, }: SetAuthTagOptions) => void;
|
|
5
|
+
//# sourceMappingURL=auth-tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-tag.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/aes-data/auth-tag.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,eAAO,MAAM,cAAc,oEAMxB,iBAAiB,KAAG,MAoBtB,CAAC;AAEF,eAAO,MAAM,cAAc,+EAOxB,iBAAiB,KAAG,IA2BtB,CAAC"}
|
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"aes-data.d.ts","sourceRoot":"","sources":["../../../src/utils/private/aes-data.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,iBAqDhE,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,MA8ChE,CAAC"}
|
|
@@ -3,62 +3,73 @@ 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
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
6
|
+
const format_1 = require("../../constants/private/format");
|
|
7
|
+
const auth_tag_1 = require("./aes-data/auth-tag");
|
|
8
|
+
const get_initialisation_vector_1 = require("./aes-data/get-initialisation-vector");
|
|
9
|
+
const split_content_encryption_key_1 = require("./aes-data/split-content-encryption-key");
|
|
10
|
+
const calculate_aes_encryption_1 = require("./calculate/calculate-aes-encryption");
|
|
11
|
+
const get_decryption_key_1 = require("./get-key/get-decryption-key");
|
|
12
|
+
const get_encryption_key_1 = require("./get-key/get-encryption-key");
|
|
10
13
|
const _encryptAesData = (options) => {
|
|
11
|
-
const { data, encryption = "
|
|
12
|
-
const {
|
|
14
|
+
const { data, encryption = "A256GCM", kryptos } = options;
|
|
15
|
+
const { contentEncryptionKey, hkdfSalt, pbkdfIterations, pbkdfSalt, publicEncryptionIv, publicEncryptionJwk, publicEncryptionKey, publicEncryptionTag, } = (0, get_encryption_key_1._getEncryptionKey)({
|
|
13
16
|
encryption,
|
|
14
17
|
kryptos,
|
|
15
|
-
encryptionKeyAlgorithm,
|
|
16
18
|
});
|
|
19
|
+
const { encryptionKey, hashKey } = (0, split_content_encryption_key_1._splitContentEncryptionKey)(encryption, contentEncryptionKey);
|
|
20
|
+
const aesEncryption = (0, calculate_aes_encryption_1._calculateAesEncryption)(encryption);
|
|
17
21
|
const initialisationVector = (0, get_initialisation_vector_1._getInitialisationVector)(encryption);
|
|
18
|
-
const cipher = (0, crypto_1.createCipheriv)(
|
|
22
|
+
const cipher = (0, crypto_1.createCipheriv)(aesEncryption, encryptionKey, initialisationVector);
|
|
19
23
|
const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
20
24
|
const content = Buffer.concat([cipher.update(buffer), cipher.final()]);
|
|
21
|
-
const authTag = (0, auth_tag_1.
|
|
22
|
-
encryption,
|
|
25
|
+
const authTag = (0, auth_tag_1._createAuthTag)({
|
|
23
26
|
cipher,
|
|
24
27
|
content,
|
|
25
|
-
|
|
28
|
+
hashKey,
|
|
29
|
+
encryption,
|
|
26
30
|
initialisationVector,
|
|
27
|
-
integrityHash,
|
|
28
31
|
});
|
|
29
32
|
return {
|
|
30
|
-
|
|
33
|
+
algorithm: kryptos.algorithm,
|
|
31
34
|
authTag,
|
|
32
35
|
content,
|
|
33
|
-
|
|
36
|
+
encryption,
|
|
37
|
+
hkdfSalt,
|
|
34
38
|
initialisationVector,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
keyId: Buffer.from(kryptos.id, format_1._B64U),
|
|
40
|
+
pbkdfIterations,
|
|
41
|
+
pbkdfSalt,
|
|
42
|
+
publicEncryptionIv,
|
|
38
43
|
publicEncryptionJwk,
|
|
39
44
|
publicEncryptionKey,
|
|
45
|
+
publicEncryptionTag,
|
|
40
46
|
version: constants_1.LATEST_AES_VERSION,
|
|
41
47
|
};
|
|
42
48
|
};
|
|
43
49
|
exports._encryptAesData = _encryptAesData;
|
|
44
50
|
const _decryptAesData = (options) => {
|
|
45
|
-
const { authTag, content, encryption,
|
|
46
|
-
const
|
|
51
|
+
const { authTag, content, encryption, hkdfSalt, initialisationVector, kryptos, pbkdfIterations, pbkdfSalt, publicEncryptionIv, publicEncryptionJwk, publicEncryptionKey, publicEncryptionTag, } = options;
|
|
52
|
+
const { contentEncryptionKey } = (0, get_decryption_key_1._getDecryptionKey)({
|
|
47
53
|
encryption,
|
|
48
|
-
|
|
54
|
+
hkdfSalt,
|
|
49
55
|
kryptos,
|
|
56
|
+
pbkdfIterations,
|
|
57
|
+
pbkdfSalt,
|
|
58
|
+
publicEncryptionIv,
|
|
50
59
|
publicEncryptionJwk,
|
|
51
60
|
publicEncryptionKey,
|
|
61
|
+
publicEncryptionTag,
|
|
52
62
|
});
|
|
53
|
-
const
|
|
54
|
-
(0,
|
|
55
|
-
|
|
63
|
+
const { encryptionKey, hashKey } = (0, split_content_encryption_key_1._splitContentEncryptionKey)(encryption, contentEncryptionKey);
|
|
64
|
+
const aesEncryption = (0, calculate_aes_encryption_1._calculateAesEncryption)(encryption);
|
|
65
|
+
const decipher = (0, crypto_1.createDecipheriv)(aesEncryption, encryptionKey, initialisationVector);
|
|
66
|
+
(0, auth_tag_1._assertAuthTag)({
|
|
56
67
|
authTag,
|
|
57
68
|
content,
|
|
69
|
+
hashKey,
|
|
58
70
|
decipher,
|
|
59
|
-
|
|
71
|
+
encryption,
|
|
60
72
|
initialisationVector,
|
|
61
|
-
integrityHash,
|
|
62
73
|
});
|
|
63
74
|
return Buffer.concat([decipher.update(content), decipher.final()]).toString("utf-8");
|
|
64
75
|
};
|
|
@@ -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" | "aes-128-gcm" | "aes-192-gcm" | "aes-256-gcm";
|
|
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,GAClB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,eAAO,MAAM,2BAA2B,YAAa,QAAQ,KAAG,iBAgC/D,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
case "A128GCMKW":
|
|
19
|
+
case "ECDH-ES+A128GCMKW":
|
|
20
|
+
return "aes-128-gcm";
|
|
21
|
+
case "A192GCMKW":
|
|
22
|
+
case "ECDH-ES+A192GCMKW":
|
|
23
|
+
return "aes-192-gcm";
|
|
24
|
+
case "A256GCMKW":
|
|
25
|
+
case "ECDH-ES+A256GCMKW":
|
|
26
|
+
return "aes-256-gcm";
|
|
27
|
+
default:
|
|
28
|
+
throw new Error("Unsupported keywrap encryption");
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports._calculateKeyWrapEncryption = _calculateKeyWrapEncryption;
|
|
32
|
+
//# 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":";;;AAUO,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,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB,KAAK,WAAW,CAAC;QACjB,KAAK,mBAAmB;YACtB,OAAO,aAAa,CAAC;QAEvB;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,2BAA2B,+BAgCtC"}
|
|
@@ -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,YA0BnE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 "A128GCMKW":
|
|
9
|
+
case "ECDH-ES+A128KW":
|
|
10
|
+
case "ECDH-ES+A128GCMKW":
|
|
11
|
+
case "PBES2-HS256+A128KW":
|
|
12
|
+
return 16;
|
|
13
|
+
case "A192KW":
|
|
14
|
+
case "A192GCMKW":
|
|
15
|
+
case "ECDH-ES+A192KW":
|
|
16
|
+
case "ECDH-ES+A192GCMKW":
|
|
17
|
+
case "PBES2-HS384+A192KW":
|
|
18
|
+
return 24;
|
|
19
|
+
case "A256KW":
|
|
20
|
+
case "A256GCMKW":
|
|
21
|
+
case "ECDH-ES+A256KW":
|
|
22
|
+
case "ECDH-ES+A256GCMKW":
|
|
23
|
+
case "PBES2-HS512+A256KW":
|
|
24
|
+
return 32;
|
|
25
|
+
default:
|
|
26
|
+
throw new errors_1.AesError("Unsupported algorithm", { debug: { algorithm } });
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports._calculateKeyWrapSize = _calculateKeyWrapSize;
|
|
30
|
+
//# 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,WAAW,CAAC;QACjB,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QAEZ,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QAEZ,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,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;AA1BW,QAAA,qBAAqB,yBA0BhC"}
|
|
@@ -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,iBAgE/C,CAAC"}
|