@digitaldefiance/node-ecies-lib 1.0.6 → 1.0.8

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.
Files changed (43) hide show
  1. package/README.md +17 -1
  2. package/dist/constants.d.ts +8 -5
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +59 -53
  5. package/dist/constants.js.map +1 -1
  6. package/dist/enumerations/pbkdf2-profile.d.ts +2 -1
  7. package/dist/enumerations/pbkdf2-profile.d.ts.map +1 -1
  8. package/dist/enumerations/pbkdf2-profile.js +2 -1
  9. package/dist/enumerations/pbkdf2-profile.js.map +1 -1
  10. package/dist/interfaces/constants.d.ts +2 -1
  11. package/dist/interfaces/constants.d.ts.map +1 -1
  12. package/dist/interfaces/index.d.ts +0 -1
  13. package/dist/interfaces/index.d.ts.map +1 -1
  14. package/dist/interfaces/index.js +0 -1
  15. package/dist/interfaces/index.js.map +1 -1
  16. package/dist/services/aes-gcm.d.ts +17 -10
  17. package/dist/services/aes-gcm.d.ts.map +1 -1
  18. package/dist/services/aes-gcm.js +33 -16
  19. package/dist/services/aes-gcm.js.map +1 -1
  20. package/dist/services/ecies/crypto-core.d.ts +5 -3
  21. package/dist/services/ecies/crypto-core.d.ts.map +1 -1
  22. package/dist/services/ecies/crypto-core.js +14 -9
  23. package/dist/services/ecies/crypto-core.js.map +1 -1
  24. package/dist/services/ecies/file.d.ts +23 -8
  25. package/dist/services/ecies/file.d.ts.map +1 -1
  26. package/dist/services/ecies/file.js +12 -9
  27. package/dist/services/ecies/file.js.map +1 -1
  28. package/dist/services/ecies/multi-recipient.js +46 -46
  29. package/dist/services/ecies/multi-recipient.js.map +1 -1
  30. package/dist/services/ecies/service.d.ts +2 -2
  31. package/dist/services/ecies/service.d.ts.map +1 -1
  32. package/dist/services/ecies/service.js +10 -8
  33. package/dist/services/ecies/service.js.map +1 -1
  34. package/dist/services/ecies/single-recipient.js +34 -34
  35. package/dist/services/ecies/single-recipient.js.map +1 -1
  36. package/dist/services/ecies/utilities.d.ts.map +1 -1
  37. package/dist/services/ecies/utilities.js +16 -11
  38. package/dist/services/ecies/utilities.js.map +1 -1
  39. package/dist/services/pbkdf2.d.ts +40 -8
  40. package/dist/services/pbkdf2.d.ts.map +1 -1
  41. package/dist/services/pbkdf2.js +68 -20
  42. package/dist/services/pbkdf2.js.map +1 -1
  43. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { ECIES, EciesEncryptionTypeEnum, EciesEncryptionTypeMap, ECIESError, ECIESErrorTypeEnum, encryptionTypeEnumToType, encryptionTypeToString, ensureEciesEncryptionTypeEnum, UINT32_MAX, UINT64_SIZE, } from '@digitaldefiance/ecies-lib';
1
+ import { EciesEncryptionTypeEnum, EciesEncryptionTypeMap, ECIESError, ECIESErrorTypeEnum, encryptionTypeEnumToType, encryptionTypeToString, ensureEciesEncryptionTypeEnum, UINT32_MAX, UINT64_SIZE, } from '@digitaldefiance/ecies-lib';
2
2
  import { createCipheriv, createDecipheriv, createECDH, randomBytes, } from 'crypto';
3
3
  import { getEciesPluginI18nEngine } from '../../i18n/ecies-i18n-factory';
4
4
  import { EciesCryptoCore } from './crypto-core';
@@ -19,9 +19,9 @@ export class EciesSingleRecipientCore {
19
19
  getHeaderSize(encryptionType) {
20
20
  switch (encryptionType) {
21
21
  case 'simple':
22
- return ECIES.SIMPLE.FIXED_OVERHEAD_SIZE;
22
+ return this.cryptoCore.consts.SIMPLE.FIXED_OVERHEAD_SIZE;
23
23
  case 'single':
24
- return ECIES.SINGLE.FIXED_OVERHEAD_SIZE;
24
+ return this.cryptoCore.consts.SINGLE.FIXED_OVERHEAD_SIZE;
25
25
  default:
26
26
  throw new ECIESError(ECIESErrorTypeEnum.InvalidEncryptionType, this.engine);
27
27
  }
@@ -42,7 +42,7 @@ export class EciesSingleRecipientCore {
42
42
  : 'single';
43
43
  const encryptionTypeBuffer = Buffer.alloc(1);
44
44
  encryptionTypeBuffer.writeUint8(EciesEncryptionTypeMap[encryptionType]);
45
- if (message.length > ECIES.MAX_RAW_DATA_SIZE) {
45
+ if (message.length > this.cryptoCore.consts.MAX_RAW_DATA_SIZE) {
46
46
  throw new ECIESError(ECIESErrorTypeEnum.InvalidDataLength, this.engine, undefined, undefined, {
47
47
  error: 'Message length exceeds maximum allowed size',
48
48
  maxLength: String(UINT32_MAX),
@@ -78,18 +78,18 @@ export class EciesSingleRecipientCore {
78
78
  }
79
79
  // Get the ephemeral public key and ensure it has the 0x04 prefix
80
80
  let ephemeralPublicKey = ecdh.getPublicKey();
81
- if (ephemeralPublicKey.length === ECIES.RAW_PUBLIC_KEY_LENGTH) {
81
+ if (ephemeralPublicKey.length === this.cryptoCore.consts.RAW_PUBLIC_KEY_LENGTH) {
82
82
  ephemeralPublicKey = Buffer.concat([
83
- Buffer.from([ECIES.PUBLIC_KEY_MAGIC]),
83
+ Buffer.from([this.cryptoCore.consts.PUBLIC_KEY_MAGIC]),
84
84
  ephemeralPublicKey,
85
85
  ]);
86
86
  }
87
87
  // Generate random IV
88
- const iv = randomBytes(ECIES.IV_SIZE);
88
+ const iv = randomBytes(this.cryptoCore.consts.IV_SIZE);
89
89
  // Get the key from the shared secret (always use first 32 bytes)
90
- const symKey = sharedSecret.subarray(0, ECIES.SYMMETRIC.KEY_SIZE);
90
+ const symKey = sharedSecret.subarray(0, this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
91
91
  // Create cipher with the derived symmetric key
92
- const cipher = createCipheriv(ECIES.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
92
+ const cipher = createCipheriv(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
93
93
  // Ensure auto padding is enabled
94
94
  cipher.setAutoPadding(true);
95
95
  // Encrypt the message
@@ -143,10 +143,10 @@ export class EciesSingleRecipientCore {
143
143
  // check for impossible message
144
144
  if (data.length <
145
145
  (includeLengthAndCrc
146
- ? ECIES.SINGLE.FIXED_OVERHEAD_SIZE
147
- : ECIES.SIMPLE.FIXED_OVERHEAD_SIZE)) {
146
+ ? this.cryptoCore.consts.SINGLE.FIXED_OVERHEAD_SIZE
147
+ : this.cryptoCore.consts.SIMPLE.FIXED_OVERHEAD_SIZE)) {
148
148
  throw new ECIESError(ECIESErrorTypeEnum.InvalidEncryptedDataLength, this.engine, undefined, undefined, {
149
- required: String(ECIES.SINGLE.FIXED_OVERHEAD_SIZE),
149
+ required: String(this.cryptoCore.consts.SINGLE.FIXED_OVERHEAD_SIZE),
150
150
  actual: String(data.length),
151
151
  });
152
152
  }
@@ -156,20 +156,20 @@ export class EciesSingleRecipientCore {
156
156
  // skip the already-read encryption type
157
157
  offset += 1;
158
158
  // Extract components from the header
159
- const ephemeralPublicKey = data.subarray(offset, offset + ECIES.PUBLIC_KEY_LENGTH);
160
- offset += ECIES.PUBLIC_KEY_LENGTH;
159
+ const ephemeralPublicKey = data.subarray(offset, offset + this.cryptoCore.consts.PUBLIC_KEY_LENGTH);
160
+ offset += this.cryptoCore.consts.PUBLIC_KEY_LENGTH;
161
161
  // Make sure we normalize the ephemeral public key
162
162
  const normalizedKey = this.cryptoCore.normalizePublicKey(ephemeralPublicKey);
163
- const iv = data.subarray(offset, offset + ECIES.IV_SIZE);
164
- offset += ECIES.IV_SIZE;
165
- const authTag = data.subarray(offset, offset + ECIES.AUTH_TAG_SIZE);
166
- offset += ECIES.AUTH_TAG_SIZE;
163
+ const iv = data.subarray(offset, offset + this.cryptoCore.consts.IV_SIZE);
164
+ offset += this.cryptoCore.consts.IV_SIZE;
165
+ const authTag = data.subarray(offset, offset + this.cryptoCore.consts.AUTH_TAG_SIZE);
166
+ offset += this.cryptoCore.consts.AUTH_TAG_SIZE;
167
167
  // Extract the length prefix (4 bytes) after the header components
168
168
  const dataLengthBuffer = includeLengthAndCrc
169
- ? data.subarray(offset, offset + ECIES.SINGLE.DATA_LENGTH_SIZE)
169
+ ? data.subarray(offset, offset + this.cryptoCore.consts.SINGLE.DATA_LENGTH_SIZE)
170
170
  : Buffer.alloc(0);
171
171
  if (includeLengthAndCrc) {
172
- offset += ECIES.SINGLE.DATA_LENGTH_SIZE;
172
+ offset += this.cryptoCore.consts.SINGLE.DATA_LENGTH_SIZE;
173
173
  }
174
174
  const dataLength = includeLengthAndCrc
175
175
  ? Number(dataLengthBuffer.readBigUInt64BE(0))
@@ -201,22 +201,22 @@ export class EciesSingleRecipientCore {
201
201
  : Buffer.alloc(0);
202
202
  // No CRC validation needed (AES-GCM provides authentication)
203
203
  // Validate all header components have the correct lengths
204
- if (normalizedKey.length !== ECIES.PUBLIC_KEY_LENGTH) {
204
+ if (normalizedKey.length !== this.cryptoCore.consts.PUBLIC_KEY_LENGTH) {
205
205
  throw new ECIESError(ECIESErrorTypeEnum.InvalidEphemeralPublicKey, this.engine, undefined, undefined, {
206
206
  error: 'Ephemeral public key has incorrect length after normalization',
207
- expected: String(ECIES.PUBLIC_KEY_LENGTH),
207
+ expected: String(this.cryptoCore.consts.PUBLIC_KEY_LENGTH),
208
208
  actual: String(normalizedKey.length),
209
209
  });
210
210
  }
211
- if (iv.length !== ECIES.IV_SIZE) {
211
+ if (iv.length !== this.cryptoCore.consts.IV_SIZE) {
212
212
  throw new ECIESError(ECIESErrorTypeEnum.InvalidIVLength, this.engine, undefined, undefined, {
213
- expected: String(ECIES.IV_SIZE),
213
+ expected: String(this.cryptoCore.consts.IV_SIZE),
214
214
  actual: String(iv.length),
215
215
  });
216
216
  }
217
- if (authTag.length !== ECIES.AUTH_TAG_SIZE) {
217
+ if (authTag.length !== this.cryptoCore.consts.AUTH_TAG_SIZE) {
218
218
  throw new ECIESError(ECIESErrorTypeEnum.InvalidAuthTagLength, this.engine, undefined, undefined, {
219
- expected: String(ECIES.AUTH_TAG_SIZE),
219
+ expected: String(this.cryptoCore.consts.AUTH_TAG_SIZE),
220
220
  actual: String(authTag.length),
221
221
  });
222
222
  }
@@ -228,8 +228,8 @@ export class EciesSingleRecipientCore {
228
228
  authTag,
229
229
  dataLength,
230
230
  headerSize: includeLengthAndCrc
231
- ? ECIES.SINGLE.FIXED_OVERHEAD_SIZE
232
- : ECIES.SINGLE.FIXED_OVERHEAD_SIZE,
231
+ ? this.cryptoCore.consts.SINGLE.FIXED_OVERHEAD_SIZE
232
+ : this.cryptoCore.consts.SINGLE.FIXED_OVERHEAD_SIZE,
233
233
  },
234
234
  data: encryptedData,
235
235
  remainder,
@@ -334,20 +334,20 @@ export class EciesSingleRecipientCore {
334
334
  });
335
335
  }
336
336
  // Get the key from the shared secret (always use first 32 bytes)
337
- const symKey = sharedSecret.subarray(0, ECIES.SYMMETRIC.KEY_SIZE);
337
+ const symKey = sharedSecret.subarray(0, this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
338
338
  // Create decipher with shared secret-derived key
339
- const decipher = createDecipheriv(ECIES.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
339
+ const decipher = createDecipheriv(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
340
340
  // Validate the tag and IV
341
- if (authTag.length !== ECIES.AUTH_TAG_SIZE) {
341
+ if (authTag.length !== this.cryptoCore.consts.AUTH_TAG_SIZE) {
342
342
  throw new ECIESError(ECIESErrorTypeEnum.DecryptionFailed, this.engine, undefined, undefined, {
343
- expected: String(ECIES.AUTH_TAG_SIZE),
343
+ expected: String(this.cryptoCore.consts.AUTH_TAG_SIZE),
344
344
  actual: String(authTag.length),
345
345
  stage: 'auth_tag_validation',
346
346
  });
347
347
  }
348
- if (iv.length !== ECIES.IV_SIZE) {
348
+ if (iv.length !== this.cryptoCore.consts.IV_SIZE) {
349
349
  throw new ECIESError(ECIESErrorTypeEnum.DecryptionFailed, this.engine, undefined, undefined, {
350
- expected: String(ECIES.IV_SIZE),
350
+ expected: String(this.cryptoCore.consts.IV_SIZE),
351
351
  actual: String(iv.length),
352
352
  stage: 'iv_validation',
353
353
  });
@@ -1 +1 @@
1
- {"version":3,"file":"single-recipient.js","sourceRoot":"","sources":["../../../src/services/ecies/single-recipient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-recipient.js","sourceRoot":"","sources":["../../../src/services/ecies/single-recipient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/services/ecies/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAIpB,MAAM,4BAA4B,CAAC;AAIpC;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;;OAMG;IACI,oCAAoC,CACzC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;IA0CT;;;;;OAKG;IACI,6CAA6C,CAClD,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;CA6BV"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/services/ecies/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAIpB,MAAM,4BAA4B,CAAC;AAKpC;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;;OAMG;IACI,oCAAoC,CACzC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;IA8CT;;;;;OAKG;IACI,6CAA6C,CAClD,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;CA8BV"}
@@ -1,6 +1,7 @@
1
- import { Constants as AppConstants, ECIES, ECIESError, ECIESErrorTypeEnum, } from '@digitaldefiance/ecies-lib';
1
+ import { ECIESError, ECIESErrorTypeEnum, } from '@digitaldefiance/ecies-lib';
2
2
  import { getEciesPluginI18nEngine } from '../../i18n/ecies-i18n-factory';
3
3
  import { ECIESService } from './service';
4
+ import { getNodeRuntimeConfiguration } from '../../constants';
4
5
  /**
5
6
  * Utility functions for ECIES operations
6
7
  */
@@ -16,22 +17,25 @@ export class EciesUtilities {
16
17
  if (dataLength < 0) {
17
18
  throw new ECIESError(ECIESErrorTypeEnum.InvalidDataLength, getEciesPluginI18nEngine());
18
19
  }
20
+ const runtimeDefaults = getNodeRuntimeConfiguration();
21
+ const eciesDefaults = runtimeDefaults.ECIES;
19
22
  const config = {
20
- curveName: AppConstants.ECIES.CURVE_NAME,
21
- primaryKeyDerivationPath: AppConstants.ECIES.PRIMARY_KEY_DERIVATION_PATH,
22
- mnemonicStrength: AppConstants.ECIES.MNEMONIC_STRENGTH,
23
- symmetricAlgorithm: AppConstants.ECIES.SYMMETRIC_ALGORITHM_CONFIGURATION,
24
- symmetricKeyBits: AppConstants.ECIES.SYMMETRIC.KEY_BITS,
25
- symmetricKeyMode: AppConstants.ECIES.SYMMETRIC.MODE,
23
+ curveName: eciesDefaults.CURVE_NAME,
24
+ primaryKeyDerivationPath: eciesDefaults.PRIMARY_KEY_DERIVATION_PATH,
25
+ mnemonicStrength: eciesDefaults.MNEMONIC_STRENGTH,
26
+ symmetricAlgorithm: eciesDefaults.SYMMETRIC_ALGORITHM_CONFIGURATION,
27
+ symmetricKeyBits: eciesDefaults.SYMMETRIC.KEY_BITS,
28
+ symmetricKeyMode: eciesDefaults.SYMMETRIC.MODE,
26
29
  };
27
- const eciesService = new ECIESService(getEciesPluginI18nEngine(), config);
30
+ const engine = getEciesPluginI18nEngine();
31
+ const eciesService = new ECIESService(engine, config, eciesDefaults);
28
32
  switch (encryptionMode) {
29
33
  case 'simple':
30
34
  // type (1) + public key (65) + IV (16) + auth tag (16) = 98
31
- return dataLength + ECIES.SIMPLE.FIXED_OVERHEAD_SIZE;
35
+ return dataLength + eciesDefaults.SIMPLE.FIXED_OVERHEAD_SIZE;
32
36
  case 'single':
33
37
  // type (1) + public key (65) + IV (16) + auth tag (16) + data length (4) + crc16 (2) = 104
34
- return dataLength + ECIES.SINGLE.FIXED_OVERHEAD_SIZE;
38
+ return dataLength + eciesDefaults.SINGLE.FIXED_OVERHEAD_SIZE;
35
39
  case 'multiple':
36
40
  return (dataLength +
37
41
  eciesService.calculateECIESMultipleRecipientOverhead(recipientCount ?? 1, true));
@@ -49,7 +53,8 @@ export class EciesUtilities {
49
53
  if (encryptedDataLength < 0) {
50
54
  throw new ECIESError(ECIESErrorTypeEnum.InvalidEncryptedDataLength, getEciesPluginI18nEngine());
51
55
  }
52
- const overhead = ECIES.SINGLE.FIXED_OVERHEAD_SIZE;
56
+ const { ECIES: eciesDefaults } = getNodeRuntimeConfiguration();
57
+ const overhead = eciesDefaults.SINGLE.FIXED_OVERHEAD_SIZE;
53
58
  const actualPadding = padding !== undefined ? padding : 0;
54
59
  const decryptedLength = encryptedDataLength - overhead - actualPadding;
55
60
  if (decryptedLength < 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../src/services/ecies/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,IAAI,YAAY,EACzB,KAAK,EAEL,UAAU,EACV,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB;;;;;;OAMG;IACI,oCAAoC,CACzC,UAAkB,EAClB,cAAmC,EACnC,cAAuB;QAEvB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,iBAAiB,EACpC,wBAAwB,EAAE,CAC3B,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAiB;YAC3B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU;YACxC,wBAAwB,EAAE,YAAY,CAAC,KAAK,CAAC,2BAA2B;YACxE,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB;YACtD,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,iCAAiC;YACxE,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;YACvD,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI;SACpD,CAAC;QACF,MAAM,YAAY,GAAiB,IAAI,YAAY,CACjD,wBAAwB,EAAE,EAC1B,MAAM,CACP,CAAC;QACF,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,4DAA4D;gBAC5D,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACvD,KAAK,QAAQ;gBACX,2FAA2F;gBAC3F,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACvD,KAAK,UAAU;gBACb,OAAO,CACL,UAAU;oBACV,YAAY,CAAC,uCAAuC,CAClD,cAAc,IAAI,CAAC,EACnB,IAAI,CACL,CACF,CAAC;YACJ;gBACE,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,qBAAqB,EACxC,wBAAwB,EAAE,CAC3B,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,6CAA6C,CAClD,mBAA2B,EAC3B,OAAgB;QAEhB,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,0BAA0B,EAC7C,wBAAwB,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAClD,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAG,mBAAmB,GAAG,QAAQ,GAAG,aAAa,CAAC;QACvE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,0BAA0B,EAC7C,wBAAwB,EAAE,EAC1B,SAAS,EACT,SAAS,EACT;gBACE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC;aACxC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../src/services/ecies/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB;;;;;;OAMG;IACI,oCAAoC,CACzC,UAAkB,EAClB,cAAmC,EACnC,cAAuB;QAEvB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,iBAAiB,EACpC,wBAAwB,EAAE,CAC3B,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAiB;YAC3B,SAAS,EAAE,aAAa,CAAC,UAAU;YACnC,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;YACnE,gBAAgB,EAAE,aAAa,CAAC,iBAAiB;YACjD,kBAAkB,EAAE,aAAa,CAAC,iCAAiC;YACnE,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ;YAClD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI;SAC/C,CAAC;QACF,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAiB,IAAI,YAAY,CACjD,MAAM,EACN,MAAM,EACN,aAAa,CACd,CAAC;QACF,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,4DAA4D;gBAC5D,OAAO,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC/D,KAAK,QAAQ;gBACX,2FAA2F;gBAC3F,OAAO,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC/D,KAAK,UAAU;gBACb,OAAO,CACL,UAAU;oBACV,YAAY,CAAC,uCAAuC,CAClD,cAAc,IAAI,CAAC,EACnB,IAAI,CACL,CACF,CAAC;YACJ;gBACE,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,qBAAqB,EACxC,wBAAwB,EAAE,CAC3B,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,6CAA6C,CAClD,mBAA2B,EAC3B,OAAgB;QAEhB,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,0BAA0B,EAC7C,wBAAwB,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAC1D,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAG,mBAAmB,GAAG,QAAQ,GAAG,aAAa,CAAC;QACvE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,kBAAkB,CAAC,0BAA0B,EAC7C,wBAAwB,EAAE,EAC1B,SAAS,EACT,SAAS,EACT;gBACE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC;aACxC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
@@ -1,6 +1,10 @@
1
- import { IPbkdf2Config, Pbkdf2ErrorType } from '@digitaldefiance/ecies-lib';
1
+ import { I18nEngine, Language } from '@digitaldefiance/i18n-lib';
2
+ import { IPbkdf2Config, IPBkdf2Consts, Pbkdf2ErrorType } from '@digitaldefiance/ecies-lib';
3
+ import { IConstants } from '../interfaces/constants';
2
4
  import { Pbkdf2ProfileEnum } from '../enumerations/pbkdf2-profile';
5
+ import { NodeEciesStringKey } from '../i18n/ecies-i18n-factory';
3
6
  import { IPbkdf2Result } from '../interfaces/pbkdf2-result';
7
+ import { IECIESConsts } from '../interfaces/ecies-consts';
4
8
  /**
5
9
  * Custom PBKDF2 error class that works with the plugin i18n system
6
10
  */
@@ -16,13 +20,41 @@ export declare class NodePbkdf2Error extends Error {
16
20
  * - Managing salt and iteration parameters
17
21
  * - Both synchronous and asynchronous key derivation
18
22
  */
19
- export declare abstract class Pbkdf2Service {
23
+ export declare class Pbkdf2Service {
24
+ protected readonly engine: I18nEngine<NodeEciesStringKey, Language, any, any>;
25
+ protected readonly profiles: Record<string, IPbkdf2Config>;
26
+ protected readonly eciesConsts: IECIESConsts;
27
+ protected readonly pbkdf2Consts: IPBkdf2Consts;
28
+ constructor(engine: I18nEngine<NodeEciesStringKey, Language, any, any>, profiles?: Record<string, IPbkdf2Config>, eciesParams?: IECIESConsts, pbkdf2Params?: IPBkdf2Consts);
29
+ /**
30
+ * Register a new PBKDF2 profile
31
+ * @param profileName The name of the profile
32
+ * @param config The configuration for the profile
33
+ */
34
+ registerProfile(profileName: string, config: IPbkdf2Config): void;
35
+ /**
36
+ * Get all registered profile names
37
+ * @returns Array of profile names
38
+ */
39
+ getRegisteredProfiles(): string[];
40
+ /**
41
+ * Check if a profile is registered
42
+ * @param profileName The name of the profile to check
43
+ * @returns True if the profile exists
44
+ */
45
+ hasProfile(profileName: string): boolean;
46
+ /**
47
+ * Create a Pbkdf2Service instance from IConstants (for backward compatibility)
48
+ * @param constants The constants object
49
+ * @returns A new Pbkdf2Service instance
50
+ */
51
+ static fromConstants(constants: IConstants): Pbkdf2Service;
20
52
  /**
21
53
  * Get a predefined configuration profile for common use cases
22
54
  * @param profile The name of the profile to use
23
55
  * @returns Configuration object for the specified profile
24
56
  */
25
- static getProfileConfig(profile: Pbkdf2ProfileEnum): IPbkdf2Config;
57
+ getProfileConfig(profile: string): IPbkdf2Config;
26
58
  /**
27
59
  * Generate an options object for pbkdf2
28
60
  * @param iterations Optional number of iterations (defaults to Pbkdf2IterationsPerSecond)
@@ -31,7 +63,7 @@ export declare abstract class Pbkdf2Service {
31
63
  * @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
32
64
  * @returns Configuration object for PBKDF2
33
65
  */
34
- static getConfig(iterations?: number, saltBytes?: number, hashBytes?: number, algorithm?: string): IPbkdf2Config;
66
+ getConfig(iterations?: number, saltBytes?: number, hashBytes?: number, algorithm?: string): IPbkdf2Config;
35
67
  /**
36
68
  * Given a password, use pbkdf2 to generate an appropriately sized key for AES encryption
37
69
  * @param password The password to derive a key from
@@ -42,7 +74,7 @@ export declare abstract class Pbkdf2Service {
42
74
  * @param algorithm Optional hash algorithm
43
75
  * @returns Object containing the derived key, salt, and iteration count
44
76
  */
45
- static deriveKeyFromPassword(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): IPbkdf2Result;
77
+ deriveKeyFromPassword(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): IPbkdf2Result;
46
78
  /**
47
79
  * Async version of deriveKeyFromPassword that uses libuv threadpool via crypto.pbkdf2
48
80
  * to avoid blocking the event loop during password verification.
@@ -54,7 +86,7 @@ export declare abstract class Pbkdf2Service {
54
86
  * @param algorithm Optional hash algorithm
55
87
  * @returns Promise resolving to object containing the derived key, salt, and iteration count
56
88
  */
57
- static deriveKeyFromPasswordAsync(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): Promise<IPbkdf2Result>;
89
+ deriveKeyFromPasswordAsync(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): Promise<IPbkdf2Result>;
58
90
  /**
59
91
  * Derive a key using a predefined configuration profile
60
92
  * @param password The password to derive a key from
@@ -62,7 +94,7 @@ export declare abstract class Pbkdf2Service {
62
94
  * @param salt Optional salt (will be randomly generated if not provided)
63
95
  * @returns Object containing the derived key, salt, and iteration count
64
96
  */
65
- static deriveKeyFromPasswordWithProfile(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): IPbkdf2Result;
97
+ deriveKeyFromPasswordWithProfile(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): IPbkdf2Result;
66
98
  /**
67
99
  * Async version of deriveKeyFromPasswordWithProfile
68
100
  * @param password The password to derive a key from
@@ -70,6 +102,6 @@ export declare abstract class Pbkdf2Service {
70
102
  * @param salt Optional salt (will be randomly generated if not provided)
71
103
  * @returns Promise resolving to object containing the derived key, salt, and iteration count
72
104
  */
73
- static deriveKeyFromPasswordWithProfileAsync(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): Promise<IPbkdf2Result>;
105
+ deriveKeyFromPasswordWithProfileAsync(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): Promise<IPbkdf2Result>;
74
106
  }
75
107
  //# sourceMappingURL=pbkdf2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../src/services/pbkdf2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aACK,IAAI,EAAE,eAAe;gBAAtD,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,eAAe;CAInE;AAED;;;;;;;GAOG;AACH,8BAAsB,aAAa;IACjC;;;;OAIG;WACW,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa;IAUzE;;;;;;;OAOG;WACW,SAAS,CACrB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAkBhB;;;;;;;;;OASG;WACW,qBAAqB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAsChB;;;;;;;;;;OAUG;WACiB,0BAA0B,CAC5C,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAuCzB;;;;;;OAMG;WACW,gCAAgC,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa;IAYhB;;;;;;OAMG;WACiB,qCAAqC,CACvD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC;CAW1B"}
1
+ {"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../src/services/pbkdf2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAqD,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aACK,IAAI,EAAE,eAAe;gBAAtD,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,eAAe;CAInE;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;gBAG7C,MAAM,EAAE,UAAU,CAAC,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACxC,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,aAAa;IAU9B;;;;OAIG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;OAIG;WACW,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa;IAUjE;;;;OAIG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,GACd,aAAa;IAgBhB;;;;;;;OAOG;IACI,SAAS,CACd,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAkBhB;;;;;;;;;OASG;IACI,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAsChB;;;;;;;;;;OAUG;IACU,0BAA0B,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAuCzB;;;;;;OAMG;IACI,gCAAgC,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa;IAYhB;;;;;;OAMG;IACU,qCAAqC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC;CAW1B"}
@@ -1,8 +1,8 @@
1
- import { ECIES, Pbkdf2ErrorType, } from '@digitaldefiance/ecies-lib';
1
+ import { Pbkdf2ErrorType, } from '@digitaldefiance/ecies-lib';
2
2
  import { pbkdf2 as pbkdf2Async, pbkdf2Sync, randomBytes } from 'crypto';
3
3
  import { promisify } from 'util';
4
- import { PBKDF2, PBKDF2_PROFILES } from '../constants';
5
- import { getNodeEciesTranslation, NodeEciesStringKey } from '../i18n/ecies-i18n-factory';
4
+ import { getEciesPluginI18nEngine, getNodeEciesTranslation, NodeEciesStringKey } from '../i18n/ecies-i18n-factory';
5
+ import { getNodeRuntimeConfiguration } from '../constants';
6
6
  /**
7
7
  * Custom PBKDF2 error class that works with the plugin i18n system
8
8
  */
@@ -23,13 +23,61 @@ export class NodePbkdf2Error extends Error {
23
23
  * - Both synchronous and asynchronous key derivation
24
24
  */
25
25
  export class Pbkdf2Service {
26
+ engine;
27
+ profiles;
28
+ eciesConsts;
29
+ pbkdf2Consts;
30
+ constructor(engine, profiles, eciesParams, pbkdf2Params) {
31
+ this.engine = engine;
32
+ this.profiles = profiles ? { ...profiles } : {};
33
+ const runtimeDefaults = getNodeRuntimeConfiguration();
34
+ this.eciesConsts = eciesParams ?? runtimeDefaults.ECIES;
35
+ this.pbkdf2Consts =
36
+ pbkdf2Params ?? runtimeDefaults.PBKDF2;
37
+ }
38
+ /**
39
+ * Register a new PBKDF2 profile
40
+ * @param profileName The name of the profile
41
+ * @param config The configuration for the profile
42
+ */
43
+ registerProfile(profileName, config) {
44
+ this.profiles[profileName] = { ...config };
45
+ }
46
+ /**
47
+ * Get all registered profile names
48
+ * @returns Array of profile names
49
+ */
50
+ getRegisteredProfiles() {
51
+ return Object.keys(this.profiles);
52
+ }
53
+ /**
54
+ * Check if a profile is registered
55
+ * @param profileName The name of the profile to check
56
+ * @returns True if the profile exists
57
+ */
58
+ hasProfile(profileName) {
59
+ return profileName in this.profiles;
60
+ }
61
+ /**
62
+ * Create a Pbkdf2Service instance from IConstants (for backward compatibility)
63
+ * @param constants The constants object
64
+ * @returns A new Pbkdf2Service instance
65
+ */
66
+ static fromConstants(constants) {
67
+ const engine = getEciesPluginI18nEngine();
68
+ const runtimeDefaults = getNodeRuntimeConfiguration();
69
+ return new Pbkdf2Service(engine, constants.PBKDF2_PROFILES, runtimeDefaults.ECIES, constants.PBKDF2);
70
+ }
26
71
  /**
27
72
  * Get a predefined configuration profile for common use cases
28
73
  * @param profile The name of the profile to use
29
74
  * @returns Configuration object for the specified profile
30
75
  */
31
- static getProfileConfig(profile) {
32
- const profileConfig = PBKDF2_PROFILES[profile];
76
+ getProfileConfig(profile) {
77
+ const profileConfig = this.profiles[profile];
78
+ if (!profileConfig) {
79
+ throw new NodePbkdf2Error(getNodeEciesTranslation(NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), Pbkdf2ErrorType.InvalidProfile);
80
+ }
33
81
  return {
34
82
  hashBytes: profileConfig.hashBytes,
35
83
  saltBytes: profileConfig.saltBytes,
@@ -45,21 +93,21 @@ export class Pbkdf2Service {
45
93
  * @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
46
94
  * @returns Configuration object for PBKDF2
47
95
  */
48
- static getConfig(iterations, saltBytes, hashBytes, algorithm) {
96
+ getConfig(iterations, saltBytes, hashBytes, algorithm) {
49
97
  // larger numbers mean better security, less
50
98
  return {
51
99
  // size of the generated hash
52
- hashBytes: hashBytes ?? ECIES.SYMMETRIC.KEY_SIZE,
100
+ hashBytes: hashBytes ?? this.eciesConsts.SYMMETRIC.KEY_SIZE,
53
101
  // larger salt means hashed passwords are more resistant to rainbow table, but
54
102
  // you get diminishing returns pretty fast
55
- saltBytes: saltBytes ?? PBKDF2.SALT_BYTES,
103
+ saltBytes: saltBytes ?? this.pbkdf2Consts.SALT_BYTES,
56
104
  // more iterations means an attacker has to take longer to brute force an
57
105
  // individual password, so larger is better. however, larger also means longer
58
106
  // to hash the password. tune so that hashing the password takes about a
59
107
  // second
60
- iterations: iterations ?? PBKDF2.ITERATIONS_PER_SECOND,
108
+ iterations: iterations ?? this.pbkdf2Consts.ITERATIONS_PER_SECOND,
61
109
  // hash algorithm
62
- algorithm: algorithm ?? PBKDF2.ALGORITHM,
110
+ algorithm: algorithm ?? this.pbkdf2Consts.ALGORITHM,
63
111
  };
64
112
  }
65
113
  /**
@@ -72,8 +120,8 @@ export class Pbkdf2Service {
72
120
  * @param algorithm Optional hash algorithm
73
121
  * @returns Object containing the derived key, salt, and iteration count
74
122
  */
75
- static deriveKeyFromPassword(password, salt, iterations, saltBytes, keySize, algorithm) {
76
- const config = Pbkdf2Service.getConfig(iterations, saltBytes, keySize, algorithm);
123
+ deriveKeyFromPassword(password, salt, iterations, saltBytes, keySize, algorithm) {
124
+ const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
77
125
  const saltBytes_ = salt ?? randomBytes(config.saltBytes);
78
126
  if (saltBytes_.length !== config.saltBytes) {
79
127
  throw new NodePbkdf2Error(getNodeEciesTranslation(NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), Pbkdf2ErrorType.InvalidSaltLength);
@@ -99,8 +147,8 @@ export class Pbkdf2Service {
99
147
  * @param algorithm Optional hash algorithm
100
148
  * @returns Promise resolving to object containing the derived key, salt, and iteration count
101
149
  */
102
- static async deriveKeyFromPasswordAsync(password, salt, iterations, saltBytes, keySize, algorithm) {
103
- const config = Pbkdf2Service.getConfig(iterations, saltBytes, keySize, algorithm);
150
+ async deriveKeyFromPasswordAsync(password, salt, iterations, saltBytes, keySize, algorithm) {
151
+ const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
104
152
  const saltBytes_ = salt ?? randomBytes(config.saltBytes);
105
153
  if (saltBytes_.length !== config.saltBytes) {
106
154
  throw new NodePbkdf2Error(getNodeEciesTranslation(NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), Pbkdf2ErrorType.InvalidSaltLength);
@@ -123,9 +171,9 @@ export class Pbkdf2Service {
123
171
  * @param salt Optional salt (will be randomly generated if not provided)
124
172
  * @returns Object containing the derived key, salt, and iteration count
125
173
  */
126
- static deriveKeyFromPasswordWithProfile(password, profile, salt) {
127
- const config = Pbkdf2Service.getProfileConfig(profile);
128
- return Pbkdf2Service.deriveKeyFromPassword(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
174
+ deriveKeyFromPasswordWithProfile(password, profile, salt) {
175
+ const config = this.getProfileConfig(profile);
176
+ return this.deriveKeyFromPassword(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
129
177
  }
130
178
  /**
131
179
  * Async version of deriveKeyFromPasswordWithProfile
@@ -134,9 +182,9 @@ export class Pbkdf2Service {
134
182
  * @param salt Optional salt (will be randomly generated if not provided)
135
183
  * @returns Promise resolving to object containing the derived key, salt, and iteration count
136
184
  */
137
- static async deriveKeyFromPasswordWithProfileAsync(password, profile, salt) {
138
- const config = Pbkdf2Service.getProfileConfig(profile);
139
- return Pbkdf2Service.deriveKeyFromPasswordAsync(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
185
+ async deriveKeyFromPasswordWithProfileAsync(password, profile, salt) {
186
+ const config = this.getProfileConfig(profile);
187
+ return this.deriveKeyFromPasswordAsync(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
140
188
  }
141
189
  }
142
190
  //# sourceMappingURL=pbkdf2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/services/pbkdf2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/services/pbkdf2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/node-ecies-lib",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Digital Defiance Node ECIES Library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -53,7 +53,7 @@
53
53
  "type": "module",
54
54
  "packageManager": "yarn@4.10.3",
55
55
  "dependencies": {
56
- "@digitaldefiance/ecies-lib": "^1.0.22",
56
+ "@digitaldefiance/ecies-lib": "1.0.26",
57
57
  "@digitaldefiance/i18n-lib": "1.1.2",
58
58
  "@ethereumjs/wallet": "^10.0.0",
59
59
  "@noble/curves": "^2.0.1",