@digitaldefiance/node-ecies-lib 1.0.7 → 1.0.9
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 +45 -0
- package/dist/constants.d.ts +8 -5
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +43 -46
- package/dist/constants.js.map +1 -1
- package/dist/services/aes-gcm.d.ts +17 -10
- package/dist/services/aes-gcm.d.ts.map +1 -1
- package/dist/services/aes-gcm.js +33 -16
- package/dist/services/aes-gcm.js.map +1 -1
- package/dist/services/ecies/crypto-core.d.ts +5 -3
- package/dist/services/ecies/crypto-core.d.ts.map +1 -1
- package/dist/services/ecies/crypto-core.js +14 -9
- package/dist/services/ecies/crypto-core.js.map +1 -1
- package/dist/services/ecies/file.d.ts +23 -8
- package/dist/services/ecies/file.d.ts.map +1 -1
- package/dist/services/ecies/file.js +12 -9
- package/dist/services/ecies/file.js.map +1 -1
- package/dist/services/ecies/multi-recipient.js +46 -46
- package/dist/services/ecies/multi-recipient.js.map +1 -1
- package/dist/services/ecies/service.d.ts +2 -2
- package/dist/services/ecies/service.d.ts.map +1 -1
- package/dist/services/ecies/service.js +10 -8
- package/dist/services/ecies/service.js.map +1 -1
- package/dist/services/ecies/single-recipient.js +34 -34
- package/dist/services/ecies/single-recipient.js.map +1 -1
- package/dist/services/ecies/utilities.d.ts.map +1 -1
- package/dist/services/ecies/utilities.js +16 -11
- package/dist/services/ecies/utilities.js.map +1 -1
- package/dist/services/pbkdf2.d.ts +40 -8
- package/dist/services/pbkdf2.d.ts.map +1 -1
- package/dist/services/pbkdf2.js +68 -20
- package/dist/services/pbkdf2.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
|
22
|
+
return this.cryptoCore.consts.SIMPLE.FIXED_OVERHEAD_SIZE;
|
|
23
23
|
case 'single':
|
|
24
|
-
return
|
|
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 >
|
|
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 ===
|
|
81
|
+
if (ephemeralPublicKey.length === this.cryptoCore.consts.RAW_PUBLIC_KEY_LENGTH) {
|
|
82
82
|
ephemeralPublicKey = Buffer.concat([
|
|
83
|
-
Buffer.from([
|
|
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(
|
|
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,
|
|
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(
|
|
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
|
-
?
|
|
147
|
-
:
|
|
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(
|
|
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 +
|
|
160
|
-
offset +=
|
|
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 +
|
|
164
|
-
offset +=
|
|
165
|
-
const authTag = data.subarray(offset, offset +
|
|
166
|
-
offset +=
|
|
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 +
|
|
169
|
+
? data.subarray(offset, offset + this.cryptoCore.consts.SINGLE.DATA_LENGTH_SIZE)
|
|
170
170
|
: Buffer.alloc(0);
|
|
171
171
|
if (includeLengthAndCrc) {
|
|
172
|
-
offset +=
|
|
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 !==
|
|
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(
|
|
207
|
+
expected: String(this.cryptoCore.consts.PUBLIC_KEY_LENGTH),
|
|
208
208
|
actual: String(normalizedKey.length),
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
|
-
if (iv.length !==
|
|
211
|
+
if (iv.length !== this.cryptoCore.consts.IV_SIZE) {
|
|
212
212
|
throw new ECIESError(ECIESErrorTypeEnum.InvalidIVLength, this.engine, undefined, undefined, {
|
|
213
|
-
expected: String(
|
|
213
|
+
expected: String(this.cryptoCore.consts.IV_SIZE),
|
|
214
214
|
actual: String(iv.length),
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
|
-
if (authTag.length !==
|
|
217
|
+
if (authTag.length !== this.cryptoCore.consts.AUTH_TAG_SIZE) {
|
|
218
218
|
throw new ECIESError(ECIESErrorTypeEnum.InvalidAuthTagLength, this.engine, undefined, undefined, {
|
|
219
|
-
expected: String(
|
|
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
|
-
?
|
|
232
|
-
:
|
|
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,
|
|
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(
|
|
339
|
+
const decipher = createDecipheriv(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
|
|
340
340
|
// Validate the tag and IV
|
|
341
|
-
if (authTag.length !==
|
|
341
|
+
if (authTag.length !== this.cryptoCore.consts.AUTH_TAG_SIZE) {
|
|
342
342
|
throw new ECIESError(ECIESErrorTypeEnum.DecryptionFailed, this.engine, undefined, undefined, {
|
|
343
|
-
expected: String(
|
|
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 !==
|
|
348
|
+
if (iv.length !== this.cryptoCore.consts.IV_SIZE) {
|
|
349
349
|
throw new ECIESError(ECIESErrorTypeEnum.DecryptionFailed, this.engine, undefined, undefined, {
|
|
350
|
-
expected: String(
|
|
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,
|
|
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 {
|
|
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:
|
|
21
|
-
primaryKeyDerivationPath:
|
|
22
|
-
mnemonicStrength:
|
|
23
|
-
symmetricAlgorithm:
|
|
24
|
-
symmetricKeyBits:
|
|
25
|
-
symmetricKeyMode:
|
|
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
|
|
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 +
|
|
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 +
|
|
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
|
|
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,
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../src/services/ecies/utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/services/pbkdf2.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
5
|
-
import {
|
|
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
|
-
|
|
32
|
-
const profileConfig =
|
|
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
|
-
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
108
|
+
iterations: iterations ?? this.pbkdf2Consts.ITERATIONS_PER_SECOND,
|
|
61
109
|
// hash algorithm
|
|
62
|
-
algorithm: 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
|
-
|
|
76
|
-
const config =
|
|
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
|
-
|
|
103
|
-
const config =
|
|
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
|
-
|
|
127
|
-
const config =
|
|
128
|
-
return
|
|
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
|
-
|
|
138
|
-
const config =
|
|
139
|
-
return
|
|
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":"
|
|
1
|
+
{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/services/pbkdf2.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGnH,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACK;IAA7C,YAAY,OAAe,EAAkB,IAAqB;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAiB;QAEhE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACL,MAAM,CAAqD;IAC3D,QAAQ,CAAgC;IACxC,WAAW,CAAe;IAC1B,YAAY,CAAgB;IAE/C,YACE,MAA0D,EAC1D,QAAwC,EACxC,WAA0B,EAC1B,YAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,eAAe,CAAC,KAAK,CAAC;QACxD,IAAI,CAAC,YAAY;YACf,YAAY,IAAI,eAAe,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,WAAmB,EAAE,MAAqB;QAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,WAAmB;QACnC,OAAO,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,SAAqB;QAC/C,MAAM,MAAM,GAAG,wBAAwB,EAAS,CAAC;QACjD,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;QACtD,OAAO,IAAI,aAAa,CACtB,MAAM,EACN,SAAS,CAAC,eAAe,EACzB,eAAe,CAAC,KAAY,EAC5B,SAAS,CAAC,MAAM,CACjB,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACI,gBAAgB,CACrB,OAAe;QAEf,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,EAC1E,eAAe,CAAC,cAAc,CAC/B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,SAAS,EAAE,aAAa,CAAC,SAAS;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CACd,UAAmB,EACnB,SAAkB,EAClB,SAAkB,EAClB,SAAkB;QAElB,4CAA4C;QAC5C,OAAO;YACL,6BAA6B;YAC7B,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ;YAC3D,8EAA8E;YAC9E,0CAA0C;YAC1C,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU;YACpD,yEAAyE;YACzE,8EAA8E;YAC9E,wEAAwE;YACxE,SAAS;YACT,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB;YACjE,iBAAiB;YACjB,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS;SACpD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAC1B,QAAgB,EAChB,IAAa,EACb,UAAmB,EACnB,SAAkB,EAClB,OAAgB,EAChB,SAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAC3B,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,CACV,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,EAC1E,eAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAC1B,QAAQ,EACR,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,EAC1E,eAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,0BAA0B,CACrC,QAAgB,EAChB,IAAa,EACb,UAAmB,EACnB,SAAkB,EAClB,OAAgB,EAChB,SAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAC3B,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,CACV,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,EAC1E,eAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAC7B,QAAQ,EACR,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAW,CAAC;QAEb,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,EAC1E,eAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,gCAAgC,CACrC,QAAgB,EAChB,OAA0B,EAC1B,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,qBAAqB,CAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,qCAAqC,CAChD,QAAgB,EAChB,OAA0B,EAC1B,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,0BAA0B,CACpC,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/node-ecies-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "Digital Defiance Node ECIES Library",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"type": "module",
|
|
54
54
|
"packageManager": "yarn@4.10.3",
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@digitaldefiance/ecies-lib": "
|
|
57
|
-
"@digitaldefiance/i18n-lib": "1.1.
|
|
56
|
+
"@digitaldefiance/ecies-lib": "1.0.27",
|
|
57
|
+
"@digitaldefiance/i18n-lib": "1.1.5",
|
|
58
58
|
"@ethereumjs/wallet": "^10.0.0",
|
|
59
59
|
"@noble/curves": "^2.0.1",
|
|
60
60
|
"@noble/hashes": "^2.0.1",
|