@digitaldefiance/node-ecies-lib 1.1.22 → 1.1.23
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/README.md +4 -0
- package/package.json +6 -5
- package/src/constants.d.ts +32 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +137 -0
- package/src/constants.js.map +1 -0
- package/src/enumerations/index.d.ts +2 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +5 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/pbkdf2-profile.d.ts +9 -0
- package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-profile.js +13 -0
- package/src/enumerations/pbkdf2-profile.js.map +1 -0
- package/src/i18n/ecies-i18n-factory.d.ts +54 -0
- package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
- package/src/i18n/ecies-i18n-factory.js +333 -0
- package/src/i18n/ecies-i18n-factory.js.map +1 -0
- package/src/i18n/{index.ts → index.d.ts} +1 -0
- package/src/i18n/index.d.ts.map +1 -0
- package/src/i18n/index.js +5 -0
- package/src/i18n/index.js.map +1 -0
- package/src/{index.ts → index.d.ts} +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +11 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/authenticated-cipher.d.ts +10 -0
- package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
- package/src/interfaces/authenticated-cipher.js +3 -0
- package/src/interfaces/authenticated-cipher.js.map +1 -0
- package/src/interfaces/authenticated-decipher.d.ts +9 -0
- package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
- package/src/interfaces/authenticated-decipher.js +3 -0
- package/src/interfaces/authenticated-decipher.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +3 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +3 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/constants.d.ts +43 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/ecies-consts.d.ts +88 -0
- package/src/interfaces/ecies-consts.d.ts.map +1 -0
- package/src/interfaces/ecies-consts.js +3 -0
- package/src/interfaces/ecies-consts.js.map +1 -0
- package/src/interfaces/encryption-consts.d.ts +11 -0
- package/src/interfaces/encryption-consts.d.ts.map +1 -0
- package/src/interfaces/encryption-consts.js +3 -0
- package/src/interfaces/encryption-consts.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +21 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
- package/src/interfaces/keyring-consts.d.ts +6 -0
- package/src/interfaces/keyring-consts.d.ts.map +1 -0
- package/src/interfaces/keyring-consts.js +3 -0
- package/src/interfaces/keyring-consts.js.map +1 -0
- package/src/interfaces/member-operational.d.ts +36 -0
- package/src/interfaces/member-operational.d.ts.map +1 -0
- package/src/interfaces/member-operational.js +3 -0
- package/src/interfaces/member-operational.js.map +1 -0
- package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
- package/src/interfaces/member-with-mnemonic.js +3 -0
- package/src/interfaces/member-with-mnemonic.js.map +1 -0
- package/src/interfaces/{multi-encrypted-message.ts → multi-encrypted-message.d.ts} +5 -5
- package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
- package/src/interfaces/multi-encrypted-message.js +3 -0
- package/src/interfaces/multi-encrypted-message.js.map +1 -0
- package/src/interfaces/multi-encrypted-parsed-header.d.ts +24 -0
- package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
- package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
- package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
- package/src/interfaces/{pbkdf-profiles.ts → pbkdf-profiles.d.ts} +2 -2
- package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
- package/src/interfaces/pbkdf-profiles.js +3 -0
- package/src/interfaces/pbkdf-profiles.js.map +1 -0
- package/src/interfaces/pbkdf2-result.d.ts +6 -0
- package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-result.js +3 -0
- package/src/interfaces/pbkdf2-result.js.map +1 -0
- package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
- package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
- package/src/interfaces/signing-key-private-key-info.js +3 -0
- package/src/interfaces/signing-key-private-key-info.js.map +1 -0
- package/src/interfaces/{simple-keypair-buffer.ts → simple-keypair-buffer.d.ts} +3 -3
- package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
- package/src/interfaces/simple-keypair-buffer.js +3 -0
- package/src/interfaces/simple-keypair-buffer.js.map +1 -0
- package/src/interfaces/{simple-keypair.ts → simple-keypair.d.ts} +3 -3
- package/src/interfaces/simple-keypair.d.ts.map +1 -0
- package/src/interfaces/simple-keypair.js +3 -0
- package/src/interfaces/simple-keypair.js.map +1 -0
- package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
- package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
- package/src/interfaces/simple-public-key-only-buffer.js +3 -0
- package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
- package/src/interfaces/simple-public-key-only.d.ts +4 -0
- package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
- package/src/interfaces/simple-public-key-only.js +3 -0
- package/src/interfaces/simple-public-key-only.js.map +1 -0
- package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
- package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
- package/src/interfaces/single-encrypted-parsed-header.js +3 -0
- package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
- package/src/interfaces/{wallet-seed.ts → wallet-seed.d.ts} +3 -3
- package/src/interfaces/wallet-seed.d.ts.map +1 -0
- package/src/interfaces/wallet-seed.js +3 -0
- package/src/interfaces/wallet-seed.js.map +1 -0
- package/src/interfaces/wrapped-key-consts.d.ts +7 -0
- package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
- package/src/interfaces/wrapped-key-consts.js +3 -0
- package/src/interfaces/wrapped-key-consts.js.map +1 -0
- package/src/member.d.ts +74 -0
- package/src/member.d.ts.map +1 -0
- package/src/member.js +273 -0
- package/src/member.js.map +1 -0
- package/src/services/aes-gcm.d.ts +66 -0
- package/src/services/aes-gcm.d.ts.map +1 -0
- package/src/services/aes-gcm.js +115 -0
- package/src/services/aes-gcm.js.map +1 -0
- package/src/services/ecies/crypto-core.d.ts +83 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -0
- package/src/services/ecies/crypto-core.js +166 -0
- package/src/services/ecies/crypto-core.js.map +1 -0
- package/src/services/ecies/file.d.ts +30 -0
- package/src/services/ecies/file.d.ts.map +1 -0
- package/src/services/ecies/file.js +112 -0
- package/src/services/ecies/file.js.map +1 -0
- package/src/services/ecies/{index.ts → index.d.ts} +1 -0
- package/src/services/ecies/index.d.ts.map +1 -0
- package/src/services/ecies/index.js +11 -0
- package/src/services/ecies/index.js.map +1 -0
- package/src/services/ecies/multi-recipient.d.ts +82 -0
- package/src/services/ecies/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/multi-recipient.js +360 -0
- package/src/services/ecies/multi-recipient.js.map +1 -0
- package/src/services/ecies/service.d.ts +70 -0
- package/src/services/ecies/service.d.ts.map +1 -0
- package/src/services/ecies/service.js +167 -0
- package/src/services/ecies/service.js.map +1 -0
- package/src/services/ecies/signature.d.ts +38 -0
- package/src/services/ecies/signature.d.ts.map +1 -0
- package/src/services/ecies/signature.js +69 -0
- package/src/services/ecies/signature.js.map +1 -0
- package/src/services/ecies/single-recipient.d.ts +85 -0
- package/src/services/ecies/single-recipient.d.ts.map +1 -0
- package/src/services/ecies/single-recipient.js +399 -0
- package/src/services/ecies/single-recipient.js.map +1 -0
- package/src/services/ecies/utilities.d.ts +22 -0
- package/src/services/ecies/utilities.d.ts.map +1 -0
- package/src/services/ecies/utilities.js +75 -0
- package/src/services/ecies/utilities.js.map +1 -0
- package/src/services/index.d.ts +4 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +7 -0
- package/src/services/index.js.map +1 -0
- package/src/services/pbkdf2.d.ts +106 -0
- package/src/services/pbkdf2.d.ts.map +1 -0
- package/src/services/pbkdf2.js +195 -0
- package/src/services/pbkdf2.js.map +1 -0
- package/src/{types.ts → types.d.ts} +9 -26
- package/src/types.d.ts.map +1 -0
- package/src/types.js +3 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +11 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +82 -0
- package/src/utils.js.map +1 -0
- package/LICENSE +0 -21
- package/src/constants.ts +0 -182
- package/src/enumerations/index.ts +0 -1
- package/src/enumerations/pbkdf2-profile.ts +0 -8
- package/src/i18n/ecies-i18n-factory.ts +0 -435
- package/src/interfaces/authenticated-cipher.ts +0 -9
- package/src/interfaces/authenticated-decipher.ts +0 -8
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/constants.ts +0 -43
- package/src/interfaces/ecies-consts.ts +0 -99
- package/src/interfaces/encryption-consts.ts +0 -10
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.ts +0 -7
- package/src/interfaces/keyring-consts.ts +0 -5
- package/src/interfaces/member-operational.ts +0 -52
- package/src/interfaces/multi-encrypted-parsed-header.ts +0 -24
- package/src/interfaces/pbkdf2-result.ts +0 -5
- package/src/interfaces/signing-key-private-key-info.ts +0 -12
- package/src/interfaces/simple-public-key-only-buffer.ts +0 -3
- package/src/interfaces/simple-public-key-only.ts +0 -3
- package/src/interfaces/single-encrypted-parsed-header.ts +0 -35
- package/src/interfaces/wrapped-key-consts.ts +0 -6
- package/src/member.ts +0 -463
- package/src/services/aes-gcm.ts +0 -160
- package/src/services/ecies/crypto-core.ts +0 -213
- package/src/services/ecies/file.ts +0 -174
- package/src/services/ecies/multi-recipient.ts +0 -583
- package/src/services/ecies/service.ts +0 -351
- package/src/services/ecies/signature.ts +0 -91
- package/src/services/ecies/single-recipient.ts +0 -676
- package/src/services/ecies/utilities.ts +0 -111
- package/src/services/index.ts +0 -3
- package/src/services/pbkdf2.ts +0 -307
- package/src/utils.ts +0 -104
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/node-ecies-lib",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.23",
|
|
4
4
|
"description": "Digital Defiance Node ECIES Library",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "src/index.d.ts",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"packageManager": "yarn@4.10.3",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@digitaldefiance/ecies-lib": "1.1.
|
|
35
|
-
"@digitaldefiance/i18n-lib": "1.3.
|
|
34
|
+
"@digitaldefiance/ecies-lib": "1.1.25",
|
|
35
|
+
"@digitaldefiance/i18n-lib": "1.3.14",
|
|
36
36
|
"@ethereumjs/wallet": "^10.0.0",
|
|
37
37
|
"@noble/curves": "^2.0.1",
|
|
38
38
|
"@noble/hashes": "^2.0.1",
|
|
@@ -40,5 +40,6 @@
|
|
|
40
40
|
"bson": "^6.10.4",
|
|
41
41
|
"ethereum-cryptography": "^3.2.0",
|
|
42
42
|
"ts-brand": "^0.2.0"
|
|
43
|
-
}
|
|
44
|
-
|
|
43
|
+
},
|
|
44
|
+
"type": "commonjs"
|
|
45
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IPBkdf2Consts, getRuntimeConfiguration, registerRuntimeConfiguration } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { CipherGCMTypes } from 'crypto';
|
|
3
|
+
import { IChecksumConsts } from './interfaces/checksum-consts';
|
|
4
|
+
import { IConstants } from './interfaces/constants';
|
|
5
|
+
import { IEncryptionConsts } from './interfaces/encryption-consts';
|
|
6
|
+
import { IKeyringConsts } from './interfaces/keyring-consts';
|
|
7
|
+
import { PbkdfProfiles } from './interfaces/pbkdf-profiles';
|
|
8
|
+
import { IWrappedKeyConsts } from './interfaces/wrapped-key-consts';
|
|
9
|
+
/**
|
|
10
|
+
* Constants for checksum operations
|
|
11
|
+
* These values are critical for data integrity and MUST NOT be changed
|
|
12
|
+
* in an already established system as it will break all existing checksums.
|
|
13
|
+
*/
|
|
14
|
+
export declare const NODE_RUNTIME_CONFIGURATION_KEY: unique symbol;
|
|
15
|
+
type NodeRuntimeConfiguration = ReturnType<typeof getRuntimeConfiguration>;
|
|
16
|
+
type NodeRuntimeOverrides = Parameters<typeof registerRuntimeConfiguration>[1];
|
|
17
|
+
export declare const NODE_DEFAULTS_OVERRIDES: NodeRuntimeOverrides;
|
|
18
|
+
export declare function getNodeRuntimeConfiguration(): NodeRuntimeConfiguration;
|
|
19
|
+
export declare function registerNodeRuntimeConfiguration(configOrOverrides?: NodeRuntimeOverrides | NodeRuntimeConfiguration, options?: Parameters<typeof registerRuntimeConfiguration>[2]): NodeRuntimeConfiguration;
|
|
20
|
+
export declare const CHECKSUM: IChecksumConsts;
|
|
21
|
+
export declare const KEYRING: IKeyringConsts;
|
|
22
|
+
export declare const PBKDF2: IPBkdf2Consts;
|
|
23
|
+
export declare const PBKDF2_PROFILES: PbkdfProfiles;
|
|
24
|
+
export declare const WRAPPED_KEY: IWrappedKeyConsts;
|
|
25
|
+
export declare const KEYRING_ALGORITHM_CONFIGURATION: CipherGCMTypes;
|
|
26
|
+
/**
|
|
27
|
+
* Constants for encrypted data
|
|
28
|
+
*/
|
|
29
|
+
export declare const ENCRYPTION: IEncryptionConsts;
|
|
30
|
+
export declare const Constants: IConstants;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,eAE1C,CAAC;AAEF,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,KAAK,oBAAoB,GAAG,UAAU,CACpC,OAAO,4BAA4B,CACpC,CAAC,CAAC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,EAAE,oBAIpC,CAAC;AAOH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAEtE;AAED,wBAAgB,gCAAgC,CAC9C,iBAAiB,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,EACnE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC3D,wBAAwB,CAO1B;AAED,eAAO,MAAM,QAAQ,EAAE,eAA0C,CAAC;AAElE,eAAO,MAAM,OAAO,EAAE,cAIX,CAAC;AAEZ,eAAO,MAAM,MAAM,EAAE,aAAsC,CAAC;AAE5D,eAAO,MAAM,eAAe,EAAE,aAwCnB,CAAC;AAEZ,eAAO,MAAM,WAAW,EAAE,iBAKf,CAAC;AAEZ,eAAO,MAAM,+BAA+B,EACoB,cAAc,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,iBAGd,CAAC;AAGZ,eAAO,MAAM,SAAS,EAAE,UAoCb,CAAC"}
|
package/src/constants.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Constants = exports.ENCRYPTION = exports.KEYRING_ALGORITHM_CONFIGURATION = exports.WRAPPED_KEY = exports.PBKDF2_PROFILES = exports.PBKDF2 = exports.KEYRING = exports.CHECKSUM = exports.NODE_DEFAULTS_OVERRIDES = exports.NODE_RUNTIME_CONFIGURATION_KEY = void 0;
|
|
4
|
+
exports.getNodeRuntimeConfiguration = getNodeRuntimeConfiguration;
|
|
5
|
+
exports.registerNodeRuntimeConfiguration = registerNodeRuntimeConfiguration;
|
|
6
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
7
|
+
const mongodb_1 = require("mongodb");
|
|
8
|
+
const pbkdf2_profile_1 = require("./enumerations/pbkdf2-profile");
|
|
9
|
+
const i18n_1 = require("./i18n");
|
|
10
|
+
/**
|
|
11
|
+
* Constants for checksum operations
|
|
12
|
+
* These values are critical for data integrity and MUST NOT be changed
|
|
13
|
+
* in an already established system as it will break all existing checksums.
|
|
14
|
+
*/
|
|
15
|
+
exports.NODE_RUNTIME_CONFIGURATION_KEY = Symbol.for('digitaldefiance.node.ecies.defaults');
|
|
16
|
+
exports.NODE_DEFAULTS_OVERRIDES = Object.freeze({
|
|
17
|
+
PBKDF2: {
|
|
18
|
+
ALGORITHM: 'sha256',
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
let runtimeDefaults = (0, ecies_lib_1.registerRuntimeConfiguration)(exports.NODE_RUNTIME_CONFIGURATION_KEY, exports.NODE_DEFAULTS_OVERRIDES);
|
|
22
|
+
function getNodeRuntimeConfiguration() {
|
|
23
|
+
return runtimeDefaults;
|
|
24
|
+
}
|
|
25
|
+
function registerNodeRuntimeConfiguration(configOrOverrides, options) {
|
|
26
|
+
runtimeDefaults = (0, ecies_lib_1.registerRuntimeConfiguration)(exports.NODE_RUNTIME_CONFIGURATION_KEY, configOrOverrides, options);
|
|
27
|
+
return runtimeDefaults;
|
|
28
|
+
}
|
|
29
|
+
exports.CHECKSUM = runtimeDefaults.CHECKSUM;
|
|
30
|
+
exports.KEYRING = Object.freeze({
|
|
31
|
+
ALGORITHM: 'aes',
|
|
32
|
+
KEY_BITS: 256,
|
|
33
|
+
MODE: 'gcm',
|
|
34
|
+
});
|
|
35
|
+
exports.PBKDF2 = runtimeDefaults.PBKDF2;
|
|
36
|
+
exports.PBKDF2_PROFILES = Object.freeze({
|
|
37
|
+
// Align browser password profile with high security expectations (sha512, 64-byte salt/hash, 2M iterations)
|
|
38
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.BROWSER_PASSWORD]: Object.freeze({
|
|
39
|
+
saltBytes: 64,
|
|
40
|
+
iterations: 2000000,
|
|
41
|
+
algorithm: 'sha512',
|
|
42
|
+
hashBytes: 64,
|
|
43
|
+
}),
|
|
44
|
+
// High security profile (sha512, 64-byte salt/hash, 2M iterations)
|
|
45
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.HIGH_SECURITY]: Object.freeze({
|
|
46
|
+
saltBytes: 64,
|
|
47
|
+
iterations: 2000000,
|
|
48
|
+
algorithm: 'sha512',
|
|
49
|
+
hashBytes: 64,
|
|
50
|
+
}),
|
|
51
|
+
// Fast test profile (small salt and iterations for speed)
|
|
52
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.TEST_FAST]: Object.freeze({
|
|
53
|
+
saltBytes: 16,
|
|
54
|
+
iterations: 500,
|
|
55
|
+
algorithm: 'sha256',
|
|
56
|
+
hashBytes: 32,
|
|
57
|
+
}),
|
|
58
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.USER_LOGIN]: Object.freeze({
|
|
59
|
+
saltBytes: 32,
|
|
60
|
+
iterations: 1304000,
|
|
61
|
+
algorithm: 'sha256',
|
|
62
|
+
hashBytes: 32,
|
|
63
|
+
}),
|
|
64
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.KEY_WRAPPING]: Object.freeze({
|
|
65
|
+
saltBytes: 32,
|
|
66
|
+
iterations: 100000,
|
|
67
|
+
algorithm: 'sha256',
|
|
68
|
+
hashBytes: 32,
|
|
69
|
+
}),
|
|
70
|
+
[pbkdf2_profile_1.Pbkdf2ProfileEnum.BACKUP_CODES]: Object.freeze({
|
|
71
|
+
saltBytes: 32,
|
|
72
|
+
iterations: 1304000,
|
|
73
|
+
algorithm: 'sha256',
|
|
74
|
+
hashBytes: 32,
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
exports.WRAPPED_KEY = Object.freeze({
|
|
78
|
+
SALT_SIZE: exports.PBKDF2.SALT_BYTES, // Use PBKDF2 standard salt size
|
|
79
|
+
IV_SIZE: 16,
|
|
80
|
+
MASTER_KEY_SIZE: 32,
|
|
81
|
+
MIN_ITERATIONS: 100000, // Keep lower for key-wrapping operations
|
|
82
|
+
});
|
|
83
|
+
exports.KEYRING_ALGORITHM_CONFIGURATION = `${exports.KEYRING.ALGORITHM}-${exports.KEYRING.KEY_BITS}-${exports.KEYRING.MODE}`;
|
|
84
|
+
/**
|
|
85
|
+
* Constants for encrypted data
|
|
86
|
+
*/
|
|
87
|
+
exports.ENCRYPTION = Object.freeze({
|
|
88
|
+
ENCRYPTION_TYPE_SIZE: 1,
|
|
89
|
+
RECIPIENT_ID_SIZE: ecies_lib_1.GUID_SIZE,
|
|
90
|
+
});
|
|
91
|
+
const objectIdLength = Buffer.from(new mongodb_1.ObjectId().toHexString(), 'hex').length;
|
|
92
|
+
exports.Constants = Object.freeze({
|
|
93
|
+
...ecies_lib_1.Constants,
|
|
94
|
+
/**
|
|
95
|
+
* The length of a raw object ID (not the hex string representation)
|
|
96
|
+
*/
|
|
97
|
+
OBJECT_ID_LENGTH: objectIdLength,
|
|
98
|
+
/**
|
|
99
|
+
* PBKDF2 constants
|
|
100
|
+
*/
|
|
101
|
+
PBKDF2: exports.PBKDF2,
|
|
102
|
+
/**
|
|
103
|
+
* PBKDF2 configuration profiles
|
|
104
|
+
*/
|
|
105
|
+
PBKDF2_PROFILES: exports.PBKDF2_PROFILES,
|
|
106
|
+
/**
|
|
107
|
+
* Key Wrapping Service constants
|
|
108
|
+
*/
|
|
109
|
+
WRAPPED_KEY: exports.WRAPPED_KEY,
|
|
110
|
+
/**
|
|
111
|
+
* Checksum constants used for data integrity
|
|
112
|
+
*/
|
|
113
|
+
CHECKSUM: exports.CHECKSUM,
|
|
114
|
+
/**
|
|
115
|
+
* Keyring constants used for key management
|
|
116
|
+
*/
|
|
117
|
+
KEYRING: exports.KEYRING,
|
|
118
|
+
/**
|
|
119
|
+
* Encryption constants used for encrypted data
|
|
120
|
+
*/
|
|
121
|
+
ENCRYPTION: exports.ENCRYPTION,
|
|
122
|
+
/**
|
|
123
|
+
* Algorithm configuration string for keyring operations
|
|
124
|
+
*/
|
|
125
|
+
KEYRING_ALGORITHM_CONFIGURATION: exports.KEYRING_ALGORITHM_CONFIGURATION,
|
|
126
|
+
PasswordRegex: runtimeDefaults.PasswordRegex,
|
|
127
|
+
MnemonicRegex: runtimeDefaults.MnemonicRegex,
|
|
128
|
+
});
|
|
129
|
+
if (exports.CHECKSUM.SHA3_BUFFER_LENGTH !== exports.CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8 ||
|
|
130
|
+
exports.CHECKSUM.SHA3_BUFFER_LENGTH !== exports.CHECKSUM.SHA3_DEFAULT_HASH_BITS / 8) {
|
|
131
|
+
const pluginEngine = (0, i18n_1.getEciesPluginI18nEngine)();
|
|
132
|
+
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidChecksumConstants));
|
|
133
|
+
}
|
|
134
|
+
if (objectIdLength !== 12) {
|
|
135
|
+
console.warn('ObjectID length may have changed, breaking encryption', objectIdLength);
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":";;;AA2CA,kEAEC;AAED,4EAUC;AAzDD,0DAMoC;AAEpC,qCAAmC;AAOnC,kEAA2F;AAC3F,iCAA4F;AAE5F;;;;GAIG;AACU,QAAA,8BAA8B,GAAG,MAAM,CAAC,GAAG,CACtD,qCAAqC,CACtC,CAAC;AAOW,QAAA,uBAAuB,GAAyB,MAAM,CAAC,MAAM,CAAC;IACzE,MAAM,EAAE;QACN,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC;AAEH,IAAI,eAAe,GAA6B,IAAA,wCAA4B,EAC1E,sCAA8B,EAC9B,+BAAuB,CACxB,CAAC;AAEF,SAAgB,2BAA2B;IACzC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,gCAAgC,CAC9C,iBAAmE,EACnE,OAA4D;IAE5D,eAAe,GAAG,IAAA,wCAA4B,EAC5C,sCAA8B,EAC9B,iBAAiB,EACjB,OAAO,CACR,CAAC;IACF,OAAO,eAAe,CAAC;AACzB,CAAC;AAEY,QAAA,QAAQ,GAAoB,eAAe,CAAC,QAAQ,CAAC;AAErD,QAAA,OAAO,GAAmB,MAAM,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,KAAc;IACzB,QAAQ,EAAE,GAAY;IACtB,IAAI,EAAE,KAAc;CACZ,CAAC,CAAC;AAEC,QAAA,MAAM,GAAkB,eAAe,CAAC,MAAM,CAAC;AAE/C,QAAA,eAAe,GAAkB,MAAM,CAAC,MAAM,CAAC;IAC1D,4GAA4G;IAC5G,CAAC,kCAAqB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QACtD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,mEAAmE;IACnE,CAAC,kCAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QACnD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,0DAA0D;IAC1D,CAAC,kCAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,CAAC,kCAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAChD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,CAAC,kCAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAClD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,CAAC,kCAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAClD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;CACM,CAAC,CAAC;AAEC,QAAA,WAAW,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1D,SAAS,EAAE,cAAM,CAAC,UAAU,EAAE,gCAAgC;IAC9D,OAAO,EAAE,EAAW;IACpB,eAAe,EAAE,EAAW;IAC5B,cAAc,EAAE,MAAe,EAAE,yCAAyC;CAClE,CAAC,CAAC;AAEC,QAAA,+BAA+B,GAC1C,GAAG,eAAO,CAAC,SAAS,IAAI,eAAO,CAAC,QAAQ,IAAI,eAAO,CAAC,IAAI,EAAoB,CAAC;AAE/E;;GAEG;AACU,QAAA,UAAU,GAAsB,MAAM,CAAC,MAAM,CAAC;IACzD,oBAAoB,EAAE,CAAU;IAChC,iBAAiB,EAAE,qBAAS;CACpB,CAAC,CAAC;AAEZ,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;AAClE,QAAA,SAAS,GAAe,MAAM,CAAC,MAAM,CAAC;IACjD,GAAG,qBAAa;IAChB;;OAEG;IACH,gBAAgB,EAAE,cAAc;IAChC;;OAEG;IACH,MAAM,EAAE,cAAM;IACd;;OAEG;IACH,eAAe,EAAE,uBAAe;IAChC;;OAEG;IACH,WAAW,EAAE,mBAAW;IACxB;;OAEG;IACH,QAAQ,EAAE,gBAAQ;IAClB;;OAEG;IACH,OAAO,EAAE,eAAO;IAChB;;OAEG;IACH,UAAU,EAAE,kBAAU;IACtB;;OAEG;IACH,+BAA+B,EAAE,uCAA+B;IAChE,aAAa,EAAE,eAAe,CAAC,aAAa;IAC5C,aAAa,EAAE,eAAe,CAAC,aAAa;CACpC,CAAC,CAAC;AAEZ,IACE,gBAAQ,CAAC,kBAAkB,KAAK,gBAAQ,CAAC,sBAAsB,GAAG,CAAC;IACnE,gBAAQ,CAAC,kBAAkB,KAAK,gBAAQ,CAAC,sBAAsB,GAAG,CAAC,EACnE,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,+BAAwB,GAAE,CAAC;IAChD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,2BAAoB,EAAE,yBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC;AACnH,CAAC;AAED,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,cAAc,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/enumerations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/enumerations/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare enum Pbkdf2ProfileEnum {
|
|
2
|
+
USER_LOGIN = "USER_LOGIN",
|
|
3
|
+
KEY_WRAPPING = "KEY_WRAPPING",
|
|
4
|
+
BACKUP_CODES = "BACKUP_CODES",
|
|
5
|
+
HIGH_SECURITY = "HIGH_SECURITY",
|
|
6
|
+
BROWSER_PASSWORD = "BROWSER_PASSWORD",
|
|
7
|
+
TEST_FAST = "TEST_FAST"
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=pbkdf2-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-profile.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/enumerations/pbkdf2-profile.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;CACxB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Pbkdf2ProfileEnum = void 0;
|
|
4
|
+
var Pbkdf2ProfileEnum;
|
|
5
|
+
(function (Pbkdf2ProfileEnum) {
|
|
6
|
+
Pbkdf2ProfileEnum["USER_LOGIN"] = "USER_LOGIN";
|
|
7
|
+
Pbkdf2ProfileEnum["KEY_WRAPPING"] = "KEY_WRAPPING";
|
|
8
|
+
Pbkdf2ProfileEnum["BACKUP_CODES"] = "BACKUP_CODES";
|
|
9
|
+
Pbkdf2ProfileEnum["HIGH_SECURITY"] = "HIGH_SECURITY";
|
|
10
|
+
Pbkdf2ProfileEnum["BROWSER_PASSWORD"] = "BROWSER_PASSWORD";
|
|
11
|
+
Pbkdf2ProfileEnum["TEST_FAST"] = "TEST_FAST";
|
|
12
|
+
})(Pbkdf2ProfileEnum || (exports.Pbkdf2ProfileEnum = Pbkdf2ProfileEnum = {}));
|
|
13
|
+
//# sourceMappingURL=pbkdf2-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-profile.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/enumerations/pbkdf2-profile.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,8CAAyB,CAAA;IACzB,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,oDAA+B,CAAA;IAC/B,0DAAqC,CAAA;IACrC,4CAAuB,CAAA;AACzB,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { PluginI18nEngine, CoreLanguageCode } from '@digitaldefiance/i18n-lib';
|
|
2
|
+
/**
|
|
3
|
+
* ECIES-specific string keys for the node ECIES library
|
|
4
|
+
*/
|
|
5
|
+
declare enum NodeEciesStringKey {
|
|
6
|
+
Error_LengthError_LengthIsInvalidType = "error_length_error_length_is_invalid_type",
|
|
7
|
+
Error_Member_MissingMemberName = "error_member_missing_member_name",
|
|
8
|
+
Error_Member_InvalidMemberNameWhitespace = "error_member_invalid_member_name_whitespace",
|
|
9
|
+
Error_Member_NoWallet = "error_member_no_wallet",
|
|
10
|
+
Error_Member_WalletAlreadyLoaded = "error_member_wallet_already_loaded",
|
|
11
|
+
Error_Member_InvalidMnemonic = "error_member_invalid_mnemonic",
|
|
12
|
+
Error_Member_MissingPrivateKey = "error_member_missing_private_key",
|
|
13
|
+
Error_Member_MissingEncryptionData = "error_member_missing_encryption_data",
|
|
14
|
+
Error_Member_EncryptionDataTooLarge = "error_member_encryption_data_too_large",
|
|
15
|
+
Error_Member_MissingEmail = "error_member_missing_email",
|
|
16
|
+
Error_Member_InvalidEmailWhitespace = "error_member_invalid_email_whitespace",
|
|
17
|
+
Error_InvalidPublicKey = "error_invalidPublicKey",
|
|
18
|
+
Error_InvalidPublicKeyFormat = "error_invalidPublicKeyFormat",
|
|
19
|
+
Error_MessageLengthExceedsMaximumAllowedSize = "error_messageLengthExceedsMaximumAllowedSize",
|
|
20
|
+
Error_InvalidEncryptionTypeOrNumberOfRecipients = "error_invalidEncryptionTypeOrNumberOfRecipients",
|
|
21
|
+
Error_EncryptedDataLengthMismatch = "error_encryptedDataLengthMismatch",
|
|
22
|
+
Error_EphemeralPublicKeyLengthMismatch = "error_ephemeralPublicKeyLengthMismatch",
|
|
23
|
+
Error_EncryptedDataIsEmpty = "error_encryptedDataIsEmpty",
|
|
24
|
+
Error_CombinedDataTooShort = "error_combinedDataTooShort",
|
|
25
|
+
Error_BufferIsTooShort = "error_bufferIsTooShort",
|
|
26
|
+
Error_BufferIsTooShortToReadFullLengthValue = "error_bufferIsTooShortToReadFullLengthValue",
|
|
27
|
+
Error_LengthExceedsMaximumSafeInteger = "error_lengthExceedsMaximumSafeInteger",
|
|
28
|
+
Error_BufferIsTooShortForDeclaredDataLength = "error_bufferIsTooShortForDeclaredDataLength",
|
|
29
|
+
Error_InvalidChecksumConstants = "error_invalidChecksumConstants",
|
|
30
|
+
Error_Pbkdf2_InvalidSaltLength = "error_pbkdf2_invalid_salt_length",
|
|
31
|
+
Error_Pbkdf2_InvalidHashLength = "error_pbkdf2_invalid_hash_length"
|
|
32
|
+
}
|
|
33
|
+
export declare const NodeEciesComponentId = "node-ecies";
|
|
34
|
+
/**
|
|
35
|
+
* Create or get the ECIES I18n engine with proper component registration
|
|
36
|
+
* This replaces the legacy getEciesI18nEngine() function
|
|
37
|
+
*/
|
|
38
|
+
export declare function getEciesPluginI18nEngine(): PluginI18nEngine<CoreLanguageCode>;
|
|
39
|
+
/**
|
|
40
|
+
* Reset the engine instance (useful for testing)
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetEciesPluginI18nEngine(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get a translation from the Node ECIES component
|
|
45
|
+
*/
|
|
46
|
+
export declare function getNodeEciesTranslation(key: NodeEciesStringKey, variables?: Record<string, string | number>, language?: CoreLanguageCode): string;
|
|
47
|
+
/**
|
|
48
|
+
* Get the ECIES PluginI18nEngine for use in node-ecies services
|
|
49
|
+
* Uses the base ecies-lib's engine which has all EciesStringKey translations
|
|
50
|
+
* Cast to any to handle cross-package type compatibility
|
|
51
|
+
*/
|
|
52
|
+
export declare function createEciesTranslationEngine(): any;
|
|
53
|
+
export { NodeEciesStringKey };
|
|
54
|
+
//# sourceMappingURL=ecies-i18n-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecies-i18n-factory.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/i18n/ecies-i18n-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;GAEG;AACH,aAAK,kBAAkB;IACrB,qCAAqC,8CAA8C;IAGnF,8BAA8B,qCAAqC;IACnE,wCAAwC,gDAAgD;IACxF,qBAAqB,2BAA2B;IAChD,gCAAgC,uCAAuC;IACvE,4BAA4B,kCAAkC;IAC9D,8BAA8B,qCAAqC;IACnE,kCAAkC,yCAAyC;IAC3E,mCAAmC,2CAA2C;IAC9E,yBAAyB,+BAA+B;IACxD,mCAAmC,0CAA0C;IAC7E,sBAAsB,2BAA2B;IACjD,4BAA4B,iCAAiC;IAC7D,4CAA4C,iDAAiD;IAC7F,+CAA+C,oDAAoD;IACnG,iCAAiC,sCAAsC;IACvE,sCAAsC,2CAA2C;IACjF,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,2CAA2C,gDAAgD;IAC3F,qCAAqC,0CAA0C;IAC/E,2CAA2C,gDAAgD;IAC3F,8BAA8B,mCAAmC;IAGjE,8BAA8B,qCAAqC;IACnE,8BAA8B,qCAAqC;CACpE;AACD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AA2UjD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAwB7E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,kBAAkB,EACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,GAAG,CAElD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|