@digitaldefiance/node-ecies-lib 4.11.2 → 4.12.1
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 +67 -1
- package/package.json +2 -2
- package/src/services/aes-gcm.d.ts +17 -0
- package/src/services/aes-gcm.d.ts.map +1 -1
- package/src/services/aes-gcm.js +46 -22
- package/src/services/aes-gcm.js.map +1 -1
- package/src/services/ecies/crypto-core.d.ts +11 -11
- package/src/services/ecies/crypto-core.d.ts.map +1 -1
- package/src/services/ecies/crypto-core.js +13 -13
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/ecies/index.d.ts +28 -0
- package/src/services/ecies/index.d.ts.map +1 -1
- package/src/services/ecies/index.js +31 -0
- package/src/services/ecies/index.js.map +1 -1
- package/src/services/ecies/interfaces/index.d.ts +7 -0
- package/src/services/ecies/interfaces/index.d.ts.map +1 -0
- package/src/services/ecies/interfaces/index.js +3 -0
- package/src/services/ecies/interfaces/index.js.map +1 -0
- package/src/services/ecies/interfaces/multi-encrypted-message.d.ts +11 -0
- package/src/services/ecies/interfaces/multi-encrypted-message.d.ts.map +1 -0
- package/src/services/ecies/interfaces/multi-encrypted-message.js +3 -0
- package/src/services/ecies/interfaces/multi-encrypted-message.js.map +1 -0
- package/src/services/ecies/interfaces/multi-encrypted-parsed-header.d.ts +10 -0
- package/src/services/ecies/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
- package/src/services/ecies/interfaces/multi-encrypted-parsed-header.js +3 -0
- package/src/services/ecies/interfaces/multi-encrypted-parsed-header.js.map +1 -0
- package/src/services/ecies/interfaces/multi-recipient.d.ts +6 -0
- package/src/services/ecies/interfaces/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/interfaces/multi-recipient.js +3 -0
- package/src/services/ecies/interfaces/multi-recipient.js.map +1 -0
- package/src/services/ecies/interfaces/simple-keypair.d.ts +5 -0
- package/src/services/ecies/interfaces/simple-keypair.d.ts.map +1 -0
- package/src/services/ecies/interfaces/simple-keypair.js +3 -0
- package/src/services/ecies/interfaces/simple-keypair.js.map +1 -0
- package/src/services/ecies/interfaces/single-encrypted-parsed-header.d.ts +11 -0
- package/src/services/ecies/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
- package/src/services/ecies/interfaces/single-encrypted-parsed-header.js +3 -0
- package/src/services/ecies/interfaces/single-encrypted-parsed-header.js.map +1 -0
- package/src/services/ecies/interfaces/wallet-seed.d.ts +6 -0
- package/src/services/ecies/interfaces/wallet-seed.d.ts.map +1 -0
- package/src/services/ecies/interfaces/wallet-seed.js +3 -0
- package/src/services/ecies/interfaces/wallet-seed.js.map +1 -0
- package/src/services/multi-recipient-processor.d.ts.map +1 -1
- package/src/services/multi-recipient-processor.js +2 -0
- package/src/services/multi-recipient-processor.js.map +1 -1
package/README.md
CHANGED
|
@@ -139,7 +139,8 @@ When you configure an ID provider, the library automatically:
|
|
|
139
139
|
```typescript
|
|
140
140
|
import {
|
|
141
141
|
ECIESService,
|
|
142
|
-
registerNodeRuntimeConfiguration
|
|
142
|
+
registerNodeRuntimeConfiguration,
|
|
143
|
+
AESGCMService
|
|
143
144
|
} from '@digitaldefiance/node-ecies-lib';
|
|
144
145
|
import { ObjectIdProvider } from '@digitaldefiance/ecies-lib';
|
|
145
146
|
|
|
@@ -243,6 +244,24 @@ const service = new ECIESService(config.constants);
|
|
|
243
244
|
// Service uses the configured typed provider
|
|
244
245
|
console.log(service.idProvider.name); // "ObjectID"
|
|
245
246
|
console.log(service.idProvider.byteLength); // 12
|
|
247
|
+
|
|
248
|
+
// 7. AES-GCM Service (Instance-based)
|
|
249
|
+
const aesGcm = new AESGCMService(); // Now instance-based, not static
|
|
250
|
+
const key = crypto.getRandomValues(new Uint8Array(32));
|
|
251
|
+
const data = new TextEncoder().encode('Sensitive Data');
|
|
252
|
+
|
|
253
|
+
// Encrypt with authentication tag
|
|
254
|
+
const { encrypted: aesEncrypted, iv, tag } = await aesGcm.encrypt(data, key, true);
|
|
255
|
+
|
|
256
|
+
// Decrypt
|
|
257
|
+
const combined = aesGcm.combineEncryptedDataAndTag(aesEncrypted, tag!);
|
|
258
|
+
const aesDecrypted = await aesGcm.decrypt(iv, combined, key, true);
|
|
259
|
+
|
|
260
|
+
// 8. JSON Encryption (NEW!)
|
|
261
|
+
const userData = { name: 'Alice', email: 'alice@example.com', age: 30 };
|
|
262
|
+
const encryptedJson = await aesGcm.encryptJson(userData, key);
|
|
263
|
+
const decryptedJson = await aesGcm.decryptJson<typeof userData>(encryptedJson, key);
|
|
264
|
+
console.log(decryptedJson); // { name: 'Alice', email: 'alice@example.com', age: 30 }
|
|
246
265
|
```
|
|
247
266
|
|
|
248
267
|
### 3. Using Custom ID Providers (e.g., GUID)
|
|
@@ -653,6 +672,53 @@ describe('Integration with suite-core-lib', () => {
|
|
|
653
672
|
|
|
654
673
|
## ChangeLog
|
|
655
674
|
|
|
675
|
+
### v4.12.0 - AESGCMService Refactoring & JSON Encryption
|
|
676
|
+
|
|
677
|
+
**Breaking Changes:**
|
|
678
|
+
- **AESGCMService is now instance-based**: Changed from abstract static class to regular instance-based class
|
|
679
|
+
- All methods are now instance methods instead of static methods
|
|
680
|
+
- Constructor accepts optional `IConstants` parameter for configuration
|
|
681
|
+
- Example: `const aesGcm = new AESGCMService(); aesGcm.encrypt(...)` instead of `AESGCMService.encrypt(...)`
|
|
682
|
+
|
|
683
|
+
**New Features:**
|
|
684
|
+
- **JSON Encryption Methods**: Added convenient methods for encrypting/decrypting JSON data
|
|
685
|
+
- `encryptJson<T>(data: T, key: Uint8Array): Promise<Uint8Array>` - Encrypts any JSON-serializable data
|
|
686
|
+
- `decryptJson<T>(encryptedData: Uint8Array, key: Uint8Array): Promise<T>` - Decrypts and parses JSON data
|
|
687
|
+
- Automatically handles JSON serialization, encryption with auth tags, and IV management
|
|
688
|
+
- Type-safe with TypeScript generics
|
|
689
|
+
|
|
690
|
+
**Architecture Improvements:**
|
|
691
|
+
- Added `configuration` and `engine` instance properties to AESGCMService
|
|
692
|
+
- Improved dependency injection support with optional constants parameter
|
|
693
|
+
- Enhanced error handling with i18n support
|
|
694
|
+
- Better alignment with browser/Node.js architectural patterns
|
|
695
|
+
|
|
696
|
+
**Migration Guide:**
|
|
697
|
+
```typescript
|
|
698
|
+
// BEFORE (v4.10.x and earlier)
|
|
699
|
+
import { AESGCMService } from '@digitaldefiance/node-ecies-lib';
|
|
700
|
+
|
|
701
|
+
const { encrypted, iv, tag } = await AESGCMService.encrypt(data, key, true);
|
|
702
|
+
const combined = AESGCMService.combineEncryptedDataAndTag(encrypted, tag);
|
|
703
|
+
|
|
704
|
+
// AFTER (v4.12.0+)
|
|
705
|
+
import { AESGCMService } from '@digitaldefiance/node-ecies-lib';
|
|
706
|
+
|
|
707
|
+
const aesGcm = new AESGCMService(); // Create instance
|
|
708
|
+
const { encrypted, iv, tag } = await aesGcm.encrypt(data, key, true);
|
|
709
|
+
const combined = aesGcm.combineEncryptedDataAndTag(encrypted, tag);
|
|
710
|
+
|
|
711
|
+
// NEW: JSON encryption
|
|
712
|
+
const userData = { name: 'Alice', email: 'alice@example.com' };
|
|
713
|
+
const encrypted = await aesGcm.encryptJson(userData, key);
|
|
714
|
+
const decrypted = await aesGcm.decryptJson<typeof userData>(encrypted, key);
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
**Testing:**
|
|
718
|
+
- Added 17 comprehensive tests for JSON encryption methods
|
|
719
|
+
- Added 3 e2e tests for real-world JSON scenarios
|
|
720
|
+
- All 1,100+ existing tests updated and passing
|
|
721
|
+
|
|
656
722
|
### v4.10.7 - Strong Typing for ID Providers
|
|
657
723
|
|
|
658
724
|
**Major Features:**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/node-ecies-lib",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.1",
|
|
4
4
|
"description": "Digital Defiance Node ECIES Library",
|
|
5
5
|
"homepage": "https://github.com/Digital-Defiance/node-ecies-lib",
|
|
6
6
|
"repository": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"license": "MIT",
|
|
63
63
|
"packageManager": "yarn@4.10.3",
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@digitaldefiance/ecies-lib": "4.
|
|
65
|
+
"@digitaldefiance/ecies-lib": "4.12.1",
|
|
66
66
|
"@digitaldefiance/express-suite-test-utils": "1.0.14",
|
|
67
67
|
"@digitaldefiance/i18n-lib": "3.8.16",
|
|
68
68
|
"@ethereumjs/wallet": "^10.0.0",
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { IConstants } from '../interfaces/constants';
|
|
2
2
|
export declare class AESGCMService {
|
|
3
|
+
static readonly ALGORITHM_NAME = "AES-GCM";
|
|
4
|
+
private readonly configuration;
|
|
5
|
+
private readonly engine;
|
|
3
6
|
private readonly algorithmName;
|
|
4
7
|
private readonly mode;
|
|
5
8
|
private readonly keyBits;
|
|
@@ -62,5 +65,19 @@ export declare class AESGCMService {
|
|
|
62
65
|
* @returns Decrypted data
|
|
63
66
|
*/
|
|
64
67
|
decrypt(iv: Buffer, encryptedData: Buffer, key: Buffer, _authTag?: boolean, aad?: Buffer): Buffer;
|
|
68
|
+
/**
|
|
69
|
+
* Encrypt the given data as JSON
|
|
70
|
+
* @param data The data to encrypt
|
|
71
|
+
* @param key The key to use for encryption
|
|
72
|
+
* @returns Encrypted data as Buffer
|
|
73
|
+
*/
|
|
74
|
+
encryptJson<T>(data: T, key: Buffer): Buffer;
|
|
75
|
+
/**
|
|
76
|
+
* Decrypt the given buffer with AES and parse as JSON
|
|
77
|
+
* @param encryptedData The encrypted data to decrypt
|
|
78
|
+
* @param key The key to use for decryption
|
|
79
|
+
* @returns Decrypted data parsed as type T
|
|
80
|
+
*/
|
|
81
|
+
decryptJson<T>(encryptedData: Buffer, key: Buffer): T;
|
|
65
82
|
}
|
|
66
83
|
//# sourceMappingURL=aes-gcm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-gcm.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aes-gcm.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBAAa,aAAa;IACxB,gBAAuB,cAAc,aAAa;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAiB;gBAEnD,SAAS,CAAC,EAAE,UAAU;IAWlC,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED;;;;;;OAMG;IACI,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAe,EACxB,GAAG,CAAC,EAAE,MAAM,GACX;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;IAsDlD;;;;;OAKG;IACI,0BAA0B,CAC/B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,MAAM;IAIT;;;;;OAKG;IACI,yBAAyB,CAC9B,EAAE,EAAE,MAAM,EACV,oBAAoB,EAAE,MAAM,GAC3B,MAAM;IAIT;;;;;;OAMG;IACI,4BAA4B,CACjC,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,MAAM;IAQT;;;;;OAKG;IACI,kBAAkB,CACvB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,OAAc,GACzB;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE;IAmB/C;;;;;;;OAOG;IACI,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EAEX,QAAQ,GAAE,OAAe,EACzB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;IA4DT;;;;;OAKG;IACI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAenD;;;;;OAKG;IACI,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;CAM7D"}
|
package/src/services/aes-gcm.js
CHANGED
|
@@ -6,18 +6,23 @@ const crypto_1 = require("crypto");
|
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
7
|
const i18n_1 = require("../i18n");
|
|
8
8
|
class AESGCMService {
|
|
9
|
+
static ALGORITHM_NAME = 'AES-GCM';
|
|
10
|
+
configuration;
|
|
11
|
+
engine;
|
|
9
12
|
algorithmName;
|
|
10
13
|
mode;
|
|
11
14
|
keyBits;
|
|
12
15
|
ivSize;
|
|
13
16
|
keyringAlgorithmConfiguration;
|
|
14
|
-
constructor(constants
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
17
|
+
constructor(constants) {
|
|
18
|
+
this.configuration = constants ?? constants_1.Constants;
|
|
19
|
+
this.engine = (0, i18n_1.getEciesPluginI18nEngine)();
|
|
20
|
+
this.algorithmName = this.configuration.KEYRING.ALGORITHM;
|
|
21
|
+
this.mode = this.configuration.KEYRING.MODE;
|
|
22
|
+
this.keyBits = this.configuration.KEYRING.KEY_BITS;
|
|
23
|
+
this.ivSize = this.configuration.WRAPPED_KEY.IV_SIZE;
|
|
19
24
|
this.keyringAlgorithmConfiguration =
|
|
20
|
-
|
|
25
|
+
this.configuration.KEYRING_ALGORITHM_CONFIGURATION;
|
|
21
26
|
}
|
|
22
27
|
get ALGORITHM_NAME() {
|
|
23
28
|
return this.algorithmName;
|
|
@@ -39,18 +44,15 @@ class AESGCMService {
|
|
|
39
44
|
// Security fix 9: Key length validation - must match algorithm requirements
|
|
40
45
|
const requiredKeyLength = this.keyBits / 8;
|
|
41
46
|
if (key.length !== requiredKeyLength) {
|
|
42
|
-
|
|
43
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidAESKeyLength));
|
|
47
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidAESKeyLength));
|
|
44
48
|
}
|
|
45
49
|
// Security fix 11: Data null/undefined check
|
|
46
50
|
if (data === null || data === undefined) {
|
|
47
|
-
|
|
48
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CannotEncryptEmptyData));
|
|
51
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CannotEncryptEmptyData));
|
|
49
52
|
}
|
|
50
53
|
// Security fix 12: Data size validation (max 2GB)
|
|
51
54
|
if (data.length > 0x7fffffff) {
|
|
52
|
-
|
|
53
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_MessageTooLarge));
|
|
55
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_MessageTooLarge));
|
|
54
56
|
}
|
|
55
57
|
const iv = (0, crypto_1.randomBytes)(this.ivSize);
|
|
56
58
|
const cipher = (0, crypto_1.createCipheriv)(this.keyringAlgorithmConfiguration, key, iv);
|
|
@@ -108,8 +110,7 @@ class AESGCMService {
|
|
|
108
110
|
const ivLength = this.ivSize;
|
|
109
111
|
const minLength = ivLength + (hasAuthTag ? 16 : 0);
|
|
110
112
|
if (combinedData.length < minLength) {
|
|
111
|
-
|
|
112
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CombinedDataTooShort));
|
|
113
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CombinedDataTooShort));
|
|
113
114
|
}
|
|
114
115
|
const iv = combinedData.subarray(0, ivLength);
|
|
115
116
|
const encryptedDataWithTag = combinedData.subarray(ivLength);
|
|
@@ -129,22 +130,18 @@ class AESGCMService {
|
|
|
129
130
|
// Security fix 9: Key length validation - must match algorithm requirements
|
|
130
131
|
const requiredKeyLength = this.keyBits / 8;
|
|
131
132
|
if (key.length !== requiredKeyLength) {
|
|
132
|
-
|
|
133
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidAESKeyLength));
|
|
133
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidAESKeyLength));
|
|
134
134
|
}
|
|
135
135
|
// Security fix 10: IV length validation
|
|
136
136
|
if (iv.length !== 16) {
|
|
137
|
-
|
|
138
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidIVLength));
|
|
137
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_InvalidIVLength));
|
|
139
138
|
}
|
|
140
139
|
// Security fix 13: Decrypt input validation
|
|
141
140
|
if (encryptedData === null || encryptedData === undefined) {
|
|
142
|
-
|
|
143
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CannotDecryptEmptyData));
|
|
141
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_CannotDecryptEmptyData));
|
|
144
142
|
}
|
|
145
143
|
if (encryptedData.length > 0x7fffffff) {
|
|
146
|
-
|
|
147
|
-
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_MessageTooLarge));
|
|
144
|
+
throw new Error(this.engine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_MessageTooLarge));
|
|
148
145
|
}
|
|
149
146
|
const decipher = (0, crypto_1.createDecipheriv)(this.keyringAlgorithmConfiguration, key, iv);
|
|
150
147
|
if (aad) {
|
|
@@ -156,6 +153,33 @@ class AESGCMService {
|
|
|
156
153
|
decipher.setAuthTag(tag);
|
|
157
154
|
return Buffer.concat([decipher.update(ciphertext), decipher.final()]);
|
|
158
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Encrypt the given data as JSON
|
|
158
|
+
* @param data The data to encrypt
|
|
159
|
+
* @param key The key to use for encryption
|
|
160
|
+
* @returns Encrypted data as Buffer
|
|
161
|
+
*/
|
|
162
|
+
encryptJson(data, key) {
|
|
163
|
+
const jsonString = JSON.stringify(data);
|
|
164
|
+
const encodedData = Buffer.from(jsonString, 'utf8');
|
|
165
|
+
const { iv, encrypted, tag } = this.encrypt(encodedData, key, true, undefined);
|
|
166
|
+
if (!tag) {
|
|
167
|
+
throw new Error('Authentication tag missing after encryption');
|
|
168
|
+
}
|
|
169
|
+
return this.combineIvTagAndEncryptedData(iv, encrypted, tag);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Decrypt the given buffer with AES and parse as JSON
|
|
173
|
+
* @param encryptedData The encrypted data to decrypt
|
|
174
|
+
* @param key The key to use for decryption
|
|
175
|
+
* @returns Decrypted data parsed as type T
|
|
176
|
+
*/
|
|
177
|
+
decryptJson(encryptedData, key) {
|
|
178
|
+
const iv = encryptedData.subarray(0, this.ivSize);
|
|
179
|
+
const encryptedContent = encryptedData.subarray(this.ivSize);
|
|
180
|
+
const decrypted = this.decrypt(iv, encryptedContent, key, true, undefined);
|
|
181
|
+
return JSON.parse(decrypted.toString('utf8'));
|
|
182
|
+
}
|
|
159
183
|
}
|
|
160
184
|
exports.AESGCMService = AESGCMService;
|
|
161
185
|
//# sourceMappingURL=aes-gcm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-gcm.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,mCAKgB;
|
|
1
|
+
{"version":3,"file":"aes-gcm.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { IECIESConfig, IECIESConstants, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
2
|
import { Wallet } from '@ethereumjs/wallet';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { IWalletSeed as IWalletSeedMain } from '../../interfaces/wallet-seed';
|
|
4
|
+
import { ISimpleKeyPair } from './interfaces/simple-keypair';
|
|
5
5
|
/**
|
|
6
6
|
* Core encryption and decryption functions for ECIES
|
|
7
7
|
* Includes coverage for simple and single modes, does not cover multiple mode which is in a separate module
|
|
8
8
|
*/
|
|
9
9
|
export declare class EciesCryptoCore {
|
|
10
10
|
protected readonly _config: IECIESConfig;
|
|
11
|
-
protected readonly
|
|
11
|
+
protected readonly _eciesConsts: IECIESConstants;
|
|
12
12
|
get config(): IECIESConfig;
|
|
13
13
|
get consts(): IECIESConstants;
|
|
14
14
|
constructor(config: IECIESConfig, eciesParams?: IECIESConstants);
|
|
@@ -32,27 +32,27 @@ export declare class EciesCryptoCore {
|
|
|
32
32
|
/**
|
|
33
33
|
* Generate a new wallet and seed from a mnemonic
|
|
34
34
|
* @param mnemonic {SecureString} The mnemonic to generate the wallet and seed from
|
|
35
|
-
* @returns {
|
|
35
|
+
* @returns {IWalletSeedMain} The new wallet and seed
|
|
36
36
|
*/
|
|
37
|
-
walletAndSeedFromMnemonic(mnemonic: SecureString):
|
|
37
|
+
walletAndSeedFromMnemonic(mnemonic: SecureString): IWalletSeedMain;
|
|
38
38
|
/**
|
|
39
39
|
* Generate a new wallet and seed from a mnemonic
|
|
40
40
|
* @param wallet {Wallet} The wallet to generate the key pair from
|
|
41
|
-
* @returns {
|
|
41
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
42
42
|
*/
|
|
43
|
-
walletToSimpleKeyPairBuffer(wallet: Wallet):
|
|
43
|
+
walletToSimpleKeyPairBuffer(wallet: Wallet): ISimpleKeyPair;
|
|
44
44
|
/**
|
|
45
45
|
* Create a simple key pair from a seed
|
|
46
46
|
* @param seed {Buffer} The seed to generate the key pair from
|
|
47
|
-
* @returns {
|
|
47
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
48
48
|
*/
|
|
49
|
-
seedToSimpleKeyPairBuffer(seed: Buffer):
|
|
49
|
+
seedToSimpleKeyPairBuffer(seed: Buffer): ISimpleKeyPair;
|
|
50
50
|
/**
|
|
51
51
|
* Create a simple key pair from a mnemonic
|
|
52
52
|
* @param mnemonic {SecureString} The mnemonic to generate the key pair from
|
|
53
|
-
* @returns {
|
|
53
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
54
54
|
*/
|
|
55
|
-
mnemonicToSimpleKeyPairBuffer(mnemonic: SecureString):
|
|
55
|
+
mnemonicToSimpleKeyPairBuffer(mnemonic: SecureString): ISimpleKeyPair;
|
|
56
56
|
/**
|
|
57
57
|
* Generate a random private key
|
|
58
58
|
* @returns {Buffer} The new private key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-core.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,YAAY,EACZ,eAAe,EAEf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"crypto-core.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,YAAY,EACZ,eAAe,EAEf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,qBAAa,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEjD,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,MAAM,IAAI,eAAe,CAEnC;gBAGC,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,eAAiC;IAmDhD;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAsEpD;;;OAGG;IACI,mBAAmB,IAAI,YAAY;IAI1C;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO3C;;;;OAIG;IACI,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe;IAczE;;;;OAIG;IACI,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAUlE;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAK9D;;;;OAIG;IACI,6BAA6B,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc;IAK5E;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;OAIG;IACI,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS/C;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAMF;;;;;OAKG;IACI,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAuBzE;;;;;;OAMG;IACI,eAAe,CACpB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAAwB,EAC9B,IAAI,GAAE,MAAwB,EAC9B,MAAM,GAAE,MAAW,GAClB,MAAM;IAIT;;;;OAIG;IACI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAMxD;;;;;OAKG;IACI,MAAM,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO;CAQX"}
|
|
@@ -16,12 +16,12 @@ const ecies_i18n_factory_1 = require("../../i18n/ecies-i18n-factory");
|
|
|
16
16
|
*/
|
|
17
17
|
class EciesCryptoCore {
|
|
18
18
|
_config;
|
|
19
|
-
|
|
19
|
+
_eciesConsts;
|
|
20
20
|
get config() {
|
|
21
21
|
return this._config;
|
|
22
22
|
}
|
|
23
23
|
get consts() {
|
|
24
|
-
return this.
|
|
24
|
+
return this._eciesConsts;
|
|
25
25
|
}
|
|
26
26
|
constructor(config, eciesParams = constants_1.Constants.ECIES) {
|
|
27
27
|
// Validate configuration parameters
|
|
@@ -49,7 +49,7 @@ class EciesCryptoCore {
|
|
|
49
49
|
throw new Error(`Invalid symmetric key bits: ${config.symmetricKeyBits}. Valid values: 128, 192, 256`);
|
|
50
50
|
}
|
|
51
51
|
this._config = config;
|
|
52
|
-
this.
|
|
52
|
+
this._eciesConsts = eciesParams;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Validates and normalizes a public key for ECIES operations
|
|
@@ -64,7 +64,7 @@ class EciesCryptoCore {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
const keyLength = publicKey.length;
|
|
67
|
-
// console.log('[normalizePublicKey] Magic:', this.
|
|
67
|
+
// console.log('[normalizePublicKey] Magic:', this._eciesConsts.PUBLIC_KEY_MAGIC);
|
|
68
68
|
// Check for compressed key (33 bytes, starts with 0x02 or 0x03)
|
|
69
69
|
if (keyLength === 33 && (publicKey[0] === 0x02 || publicKey[0] === 0x03)) {
|
|
70
70
|
return publicKey;
|
|
@@ -81,14 +81,14 @@ class EciesCryptoCore {
|
|
|
81
81
|
// Note: This is ambiguous for compressed keys as we don't know Y parity.
|
|
82
82
|
// But if we assume it's a raw X coordinate, we might default to 0x02?
|
|
83
83
|
// Actually, RAW_PUBLIC_KEY_LENGTH is 32.
|
|
84
|
-
if (keyLength === this.
|
|
84
|
+
if (keyLength === this._eciesConsts.RAW_PUBLIC_KEY_LENGTH) {
|
|
85
85
|
// If we only have X, we can't fully reconstruct without knowing Y parity.
|
|
86
86
|
// But maybe the intention of RAW_PUBLIC_KEY_LENGTH was for uncompressed without prefix (64 bytes)?
|
|
87
87
|
// The constants say RAW_PUBLIC_KEY_LENGTH = 32.
|
|
88
88
|
// So it expects X coordinate only.
|
|
89
89
|
// We can try to prepend 0x02.
|
|
90
90
|
return Buffer.concat([
|
|
91
|
-
Buffer.from([this.
|
|
91
|
+
Buffer.from([this._eciesConsts.PUBLIC_KEY_MAGIC]),
|
|
92
92
|
publicKey,
|
|
93
93
|
]);
|
|
94
94
|
}
|
|
@@ -97,10 +97,10 @@ class EciesCryptoCore {
|
|
|
97
97
|
throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidEphemeralPublicKey, undefined, undefined, {
|
|
98
98
|
error: pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_InvalidPublicKeyFormat),
|
|
99
99
|
keyLength: String(keyLength),
|
|
100
|
-
expectedLength64: String(this.
|
|
101
|
-
expectedLength65: String(this.
|
|
100
|
+
expectedLength64: String(this._eciesConsts.RAW_PUBLIC_KEY_LENGTH),
|
|
101
|
+
expectedLength65: String(this._eciesConsts.PUBLIC_KEY_LENGTH),
|
|
102
102
|
keyPrefix: keyLength > 0 ? String(publicKey[0]) : 'N/A',
|
|
103
|
-
expectedPrefix: String(this.
|
|
103
|
+
expectedPrefix: String(this._eciesConsts.PUBLIC_KEY_MAGIC),
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
@@ -124,7 +124,7 @@ class EciesCryptoCore {
|
|
|
124
124
|
/**
|
|
125
125
|
* Generate a new wallet and seed from a mnemonic
|
|
126
126
|
* @param mnemonic {SecureString} The mnemonic to generate the wallet and seed from
|
|
127
|
-
* @returns {
|
|
127
|
+
* @returns {IWalletSeedMain} The new wallet and seed
|
|
128
128
|
*/
|
|
129
129
|
walletAndSeedFromMnemonic(mnemonic) {
|
|
130
130
|
if (!mnemonic.value || !(0, bip39_1.validateMnemonic)(mnemonic.value)) {
|
|
@@ -140,7 +140,7 @@ class EciesCryptoCore {
|
|
|
140
140
|
/**
|
|
141
141
|
* Generate a new wallet and seed from a mnemonic
|
|
142
142
|
* @param wallet {Wallet} The wallet to generate the key pair from
|
|
143
|
-
* @returns {
|
|
143
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
144
144
|
*/
|
|
145
145
|
walletToSimpleKeyPairBuffer(wallet) {
|
|
146
146
|
const privateKey = Buffer.from(wallet.getPrivateKey());
|
|
@@ -153,7 +153,7 @@ class EciesCryptoCore {
|
|
|
153
153
|
/**
|
|
154
154
|
* Create a simple key pair from a seed
|
|
155
155
|
* @param seed {Buffer} The seed to generate the key pair from
|
|
156
|
-
* @returns {
|
|
156
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
157
157
|
*/
|
|
158
158
|
seedToSimpleKeyPairBuffer(seed) {
|
|
159
159
|
const wallet = this.walletFromSeed(seed);
|
|
@@ -162,7 +162,7 @@ class EciesCryptoCore {
|
|
|
162
162
|
/**
|
|
163
163
|
* Create a simple key pair from a mnemonic
|
|
164
164
|
* @param mnemonic {SecureString} The mnemonic to generate the key pair from
|
|
165
|
-
* @returns {
|
|
165
|
+
* @returns {ISimpleKeyPair} The new key pair
|
|
166
166
|
*/
|
|
167
167
|
mnemonicToSimpleKeyPairBuffer(mnemonic) {
|
|
168
168
|
const { seed } = this.walletAndSeedFromMnemonic(mnemonic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,0DAA0D;AAC1D,mCAA8C;AAE9C,0DAOoC;AACpC,+CAAmD;AACnD,iCAA+E;AAC/E,qEAA+D;AAE/D,+CAA4C;AAC5C,sEAIuC;
|
|
1
|
+
{"version":3,"file":"crypto-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js ECIES service exports
|
|
3
|
+
*
|
|
4
|
+
* This module provides a Node.js implementation of the ECIES (Elliptic Curve Integrated Encryption Scheme)
|
|
5
|
+
* service that uses Buffer instead of Uint8Array for binary data.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - Mnemonic generation and wallet derivation using bip39 and @ethereumjs/wallet
|
|
9
|
+
* - ECDH key exchange using ethereum-cryptography/secp256k1
|
|
10
|
+
* - AES-GCM encryption using Node.js crypto
|
|
11
|
+
* - ECDSA signatures using ethereum-cryptography/secp256k1
|
|
12
|
+
* - Single and simple recipient encryption modes
|
|
13
|
+
* - Binary compatible with browser ecies-lib
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { ECIESService } from './services/ecies';
|
|
18
|
+
*
|
|
19
|
+
* const ecies = new ECIESService();
|
|
20
|
+
* const mnemonic = ecies.generateNewMnemonic();
|
|
21
|
+
* const { privateKey, publicKey } = ecies.mnemonicToSimpleKeyPairBuffer(mnemonic);
|
|
22
|
+
*
|
|
23
|
+
* const message = Buffer.from('Hello, World!');
|
|
24
|
+
* const encrypted = await ecies.encryptSimpleOrSingle(false, publicKey, message);
|
|
25
|
+
* const decrypted = await ecies.decryptSimpleOrSingleWithHeader(false, privateKey, encrypted);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
1
28
|
export * from './crypto-core';
|
|
2
29
|
export * from './file';
|
|
3
30
|
export * from './multi-recipient';
|
|
@@ -5,4 +32,5 @@ export * from './service';
|
|
|
5
32
|
export * from './signature';
|
|
6
33
|
export * from './single-recipient';
|
|
7
34
|
export * from './utilities';
|
|
35
|
+
export { ECIESService as default } from './service';
|
|
8
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Node.js ECIES service exports
|
|
4
|
+
*
|
|
5
|
+
* This module provides a Node.js implementation of the ECIES (Elliptic Curve Integrated Encryption Scheme)
|
|
6
|
+
* service that uses Buffer instead of Uint8Array for binary data.
|
|
7
|
+
*
|
|
8
|
+
* Key features:
|
|
9
|
+
* - Mnemonic generation and wallet derivation using bip39 and @ethereumjs/wallet
|
|
10
|
+
* - ECDH key exchange using ethereum-cryptography/secp256k1
|
|
11
|
+
* - AES-GCM encryption using Node.js crypto
|
|
12
|
+
* - ECDSA signatures using ethereum-cryptography/secp256k1
|
|
13
|
+
* - Single and simple recipient encryption modes
|
|
14
|
+
* - Binary compatible with browser ecies-lib
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { ECIESService } from './services/ecies';
|
|
19
|
+
*
|
|
20
|
+
* const ecies = new ECIESService();
|
|
21
|
+
* const mnemonic = ecies.generateNewMnemonic();
|
|
22
|
+
* const { privateKey, publicKey } = ecies.mnemonicToSimpleKeyPairBuffer(mnemonic);
|
|
23
|
+
*
|
|
24
|
+
* const message = Buffer.from('Hello, World!');
|
|
25
|
+
* const encrypted = await ecies.encryptSimpleOrSingle(false, publicKey, message);
|
|
26
|
+
* const decrypted = await ecies.decryptSimpleOrSingleWithHeader(false, privateKey, encrypted);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
2
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.default = void 0;
|
|
3
31
|
const tslib_1 = require("tslib");
|
|
4
32
|
tslib_1.__exportStar(require("./crypto-core"), exports);
|
|
5
33
|
tslib_1.__exportStar(require("./file"), exports);
|
|
@@ -8,4 +36,7 @@ tslib_1.__exportStar(require("./service"), exports);
|
|
|
8
36
|
tslib_1.__exportStar(require("./signature"), exports);
|
|
9
37
|
tslib_1.__exportStar(require("./single-recipient"), exports);
|
|
10
38
|
tslib_1.__exportStar(require("./utilities"), exports);
|
|
39
|
+
// Main service export
|
|
40
|
+
var service_1 = require("./service");
|
|
41
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return service_1.ECIESService; } });
|
|
11
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;;AAEH,wDAA8B;AAC9B,iDAAuB;AACvB,4DAAkC;AAClC,oDAA0B;AAC1B,sDAA4B;AAC5B,6DAAmC;AACnC,sDAA4B;AAE5B,sBAAsB;AACtB,qCAAoD;AAA3C,kGAAA,YAAY,OAAW"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type * from './multi-encrypted-message';
|
|
2
|
+
export type * from './multi-encrypted-parsed-header';
|
|
3
|
+
export type * from './multi-recipient';
|
|
4
|
+
export type * from './simple-keypair';
|
|
5
|
+
export type * from './single-encrypted-parsed-header';
|
|
6
|
+
export type * from './wallet-seed';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kCAAkC,CAAC;AACtD,mBAAmB,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PlatformID } from '../../../interfaces';
|
|
2
|
+
export interface IMultiEncryptedMessage<TID extends PlatformID = Buffer> {
|
|
3
|
+
dataLength: number;
|
|
4
|
+
recipientCount: number;
|
|
5
|
+
recipientIds: TID[];
|
|
6
|
+
recipientKeys: Buffer[];
|
|
7
|
+
encryptedMessage: Buffer;
|
|
8
|
+
headerSize: number;
|
|
9
|
+
ephemeralPublicKey?: Buffer;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=multi-encrypted-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-encrypted-message.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-encrypted-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,sBAAsB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-encrypted-message.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-encrypted-message.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PlatformID } from '../../../interfaces';
|
|
2
|
+
export interface IMultiEncryptedParsedHeader<TID extends PlatformID = Buffer> {
|
|
3
|
+
dataLength: number;
|
|
4
|
+
recipientCount: number;
|
|
5
|
+
recipientIds: TID[];
|
|
6
|
+
recipientKeys: Buffer[];
|
|
7
|
+
headerSize: number;
|
|
8
|
+
ephemeralPublicKey?: Buffer;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=multi-encrypted-parsed-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-encrypted-parsed-header.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-encrypted-parsed-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,2BAA2B,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-encrypted-parsed-header.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-encrypted-parsed-header.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-recipient.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-recipient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC9D,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-recipient.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/multi-recipient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-keypair.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/simple-keypair.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-keypair.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/simple-keypair.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EciesEncryptionTypeEnum } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
export interface ISingleEncryptedParsedHeader {
|
|
3
|
+
preamble?: Buffer;
|
|
4
|
+
encryptionType: EciesEncryptionTypeEnum;
|
|
5
|
+
ephemeralPublicKey: Buffer;
|
|
6
|
+
iv: Buffer;
|
|
7
|
+
authTag: Buffer;
|
|
8
|
+
dataLength: number;
|
|
9
|
+
headerSize: number;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=single-encrypted-parsed-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-encrypted-parsed-header.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/single-encrypted-parsed-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,uBAAuB,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-encrypted-parsed-header.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/single-encrypted-parsed-header.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-seed.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/wallet-seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-seed.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/interfaces/wallet-seed.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient-processor.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,eAAe,EACf,WAAW,EAEZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAEL,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC9D,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,uBAAuB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;gBAG5C,mBAAmB,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,eAAe,CAAA;KAAE,EACjE,UAAU,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,MAAM,CAAC,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,aAAa,EACtB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-recipient-processor.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ class MultiRecipientProcessor {
|
|
|
23
23
|
const resolvedIdProvider = idProvider ?? (0, typed_configuration_1.getEnhancedNodeIdProvider)();
|
|
24
24
|
this.idProvider = resolvedIdProvider;
|
|
25
25
|
// Use injected dependencies or create defaults
|
|
26
|
+
// Note: AESGCMService needs IConstants, but we only have IECIESConstants from core
|
|
27
|
+
// We'll let it use the default getNodeRuntimeConfiguration()
|
|
26
28
|
this.aesGcm = aesGcm ?? new aes_gcm_1.AESGCMService();
|
|
27
29
|
this.eciesMultiRecipient =
|
|
28
30
|
eciesMultiRecipient ??
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient-processor.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-recipient-processor.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"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"}
|