@digitaldefiance/node-ecies-lib 3.0.8 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +229 -409
- package/package.json +3 -3
- package/src/builders/member-builder.d.ts +1 -2
- package/src/builders/member-builder.d.ts.map +1 -1
- package/src/builders/member-builder.js.map +1 -1
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +38 -9
- package/src/constants.js.map +1 -1
- package/src/i18n/ecies-i18n-factory.d.ts +2 -52
- package/src/i18n/ecies-i18n-factory.d.ts.map +1 -1
- package/src/i18n/ecies-i18n-factory.js +9 -63
- package/src/i18n/ecies-i18n-factory.js.map +1 -1
- package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -1
- package/src/i18n/node-ecies-i18n-setup.js +5 -53
- package/src/i18n/node-ecies-i18n-setup.js.map +1 -1
- package/src/i18n/node-keys.d.ts +57 -0
- package/src/i18n/node-keys.d.ts.map +1 -0
- package/src/i18n/node-keys.js +67 -0
- package/src/i18n/node-keys.js.map +1 -0
- package/src/i18n/translations/de.d.ts +1 -1
- package/src/i18n/translations/de.d.ts.map +1 -1
- package/src/i18n/translations/de.js +51 -46
- package/src/i18n/translations/de.js.map +1 -1
- package/src/i18n/translations/en-GB.d.ts +1 -1
- package/src/i18n/translations/en-GB.d.ts.map +1 -1
- package/src/i18n/translations/en-GB.js +51 -46
- package/src/i18n/translations/en-GB.js.map +1 -1
- package/src/i18n/translations/en-US.d.ts +1 -1
- package/src/i18n/translations/en-US.d.ts.map +1 -1
- package/src/i18n/translations/en-US.js +52 -46
- package/src/i18n/translations/en-US.js.map +1 -1
- package/src/i18n/translations/es.d.ts +1 -1
- package/src/i18n/translations/es.d.ts.map +1 -1
- package/src/i18n/translations/es.js +51 -46
- package/src/i18n/translations/es.js.map +1 -1
- package/src/i18n/translations/fr.d.ts +1 -1
- package/src/i18n/translations/fr.d.ts.map +1 -1
- package/src/i18n/translations/fr.js +51 -46
- package/src/i18n/translations/fr.js.map +1 -1
- package/src/i18n/translations/index.d.ts +2 -0
- package/src/i18n/translations/index.d.ts.map +1 -1
- package/src/i18n/translations/index.js +5 -1
- package/src/i18n/translations/index.js.map +1 -1
- package/src/i18n/translations/ja.d.ts +1 -1
- package/src/i18n/translations/ja.d.ts.map +1 -1
- package/src/i18n/translations/ja.js +51 -46
- package/src/i18n/translations/ja.js.map +1 -1
- package/src/i18n/translations/uk.d.ts +1 -1
- package/src/i18n/translations/uk.d.ts.map +1 -1
- package/src/i18n/translations/uk.js +51 -46
- package/src/i18n/translations/uk.js.map +1 -1
- package/src/i18n/translations/zh-cn.d.ts +1 -1
- package/src/i18n/translations/zh-cn.d.ts.map +1 -1
- package/src/i18n/translations/zh-cn.js +51 -46
- package/src/i18n/translations/zh-cn.js.map +1 -1
- package/src/interfaces/authenticated-cipher.d.ts +3 -0
- package/src/interfaces/authenticated-cipher.d.ts.map +1 -1
- package/src/interfaces/authenticated-decipher.d.ts +3 -0
- package/src/interfaces/authenticated-decipher.d.ts.map +1 -1
- package/src/interfaces/backend-member-operational.d.ts +1 -1
- package/src/interfaces/backend-member-operational.d.ts.map +1 -1
- package/src/interfaces/constants.d.ts +26 -17
- package/src/interfaces/constants.d.ts.map +1 -1
- package/src/interfaces/multi-encrypted-parsed-header.d.ts +5 -2
- package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -1
- package/src/interfaces/multi-recipient-chunk.d.ts +16 -0
- package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -1
- package/src/interfaces/multi-recipient-chunk.js +10 -0
- package/src/interfaces/multi-recipient-chunk.js.map +1 -1
- package/src/lib/index.d.ts +2 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +2 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/invariant-validator.d.ts +62 -0
- package/src/lib/invariant-validator.d.ts.map +1 -0
- package/src/lib/invariant-validator.js +108 -0
- package/src/lib/invariant-validator.js.map +1 -0
- package/src/lib/invariants/index.d.ts +8 -0
- package/src/lib/invariants/index.d.ts.map +1 -0
- package/src/lib/invariants/index.js +12 -0
- package/src/lib/invariants/index.js.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts +22 -0
- package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
- package/src/lib/invariants/recipient-id-consistency.js +62 -0
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
- package/src/member.d.ts +6 -6
- package/src/member.d.ts.map +1 -1
- package/src/member.js +13 -20
- package/src/member.js.map +1 -1
- package/src/services/aes-gcm.d.ts +2 -2
- package/src/services/aes-gcm.d.ts.map +1 -1
- package/src/services/aes-gcm.js +8 -2
- package/src/services/aes-gcm.js.map +1 -1
- package/src/services/ecies/crypto-core.d.ts +21 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -1
- package/src/services/ecies/crypto-core.js +62 -7
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/ecies/multi-recipient.d.ts +11 -7
- package/src/services/ecies/multi-recipient.d.ts.map +1 -1
- package/src/services/ecies/multi-recipient.js +200 -71
- package/src/services/ecies/multi-recipient.js.map +1 -1
- package/src/services/ecies/service.d.ts +1 -1
- package/src/services/ecies/service.d.ts.map +1 -1
- package/src/services/ecies/service.js +2 -2
- package/src/services/ecies/service.js.map +1 -1
- package/src/services/ecies/single-recipient.d.ts +1 -1
- package/src/services/ecies/single-recipient.d.ts.map +1 -1
- package/src/services/ecies/single-recipient.js +76 -43
- package/src/services/ecies/single-recipient.js.map +1 -1
- package/src/services/encryption-stream.js +3 -4
- package/src/services/encryption-stream.js.map +1 -1
- package/src/services/multi-recipient-processor.d.ts +42 -9
- package/src/services/multi-recipient-processor.d.ts.map +1 -1
- package/src/services/multi-recipient-processor.js +273 -177
- package/src/services/multi-recipient-processor.js.map +1 -1
- package/src/test-mocks/mock-backend-member.d.ts +7 -8
- package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
- package/src/test-mocks/mock-backend-member.js +4 -4
- package/src/test-mocks/mock-backend-member.js.map +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RecipientIdConsistencyInvariant = void 0;
|
|
4
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
+
const node_keys_1 = require("../../i18n/node-keys");
|
|
6
|
+
const ecies_i18n_factory_1 = require("../../i18n/ecies-i18n-factory");
|
|
7
|
+
/**
|
|
8
|
+
* Node.js-specific recipient ID consistency invariant.
|
|
9
|
+
*
|
|
10
|
+
* Extends the base ecies-lib invariant to also validate node-specific
|
|
11
|
+
* ENCRYPTION.RECIPIENT_ID_SIZE constant.
|
|
12
|
+
*
|
|
13
|
+
* This invariant would have caught the 12 vs 32 byte discrepancy.
|
|
14
|
+
*
|
|
15
|
+
* Checks:
|
|
16
|
+
* - MEMBER_ID_LENGTH === idProvider.byteLength
|
|
17
|
+
* - ECIES.MULTIPLE.RECIPIENT_ID_SIZE === idProvider.byteLength
|
|
18
|
+
* - ENCRYPTION.RECIPIENT_ID_SIZE === idProvider.byteLength (Node-specific)
|
|
19
|
+
* - All values must be in sync
|
|
20
|
+
*/
|
|
21
|
+
class RecipientIdConsistencyInvariant extends ecies_lib_1.BaseInvariant {
|
|
22
|
+
constructor() {
|
|
23
|
+
super('NodeRecipientIdConsistency', 'All recipient ID size configurations must match the ID provider byte length (including Node-specific ENCRYPTION constant)');
|
|
24
|
+
}
|
|
25
|
+
check(config) {
|
|
26
|
+
const baseChecks = config.MEMBER_ID_LENGTH === config.idProvider.byteLength &&
|
|
27
|
+
config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE === config.idProvider.byteLength;
|
|
28
|
+
// ENCRYPTION is node-specific and may not exist in all configs
|
|
29
|
+
if (config.ENCRYPTION && 'RECIPIENT_ID_SIZE' in config.ENCRYPTION) {
|
|
30
|
+
return baseChecks && config.ENCRYPTION.RECIPIENT_ID_SIZE === config.idProvider.byteLength;
|
|
31
|
+
}
|
|
32
|
+
return baseChecks;
|
|
33
|
+
}
|
|
34
|
+
errorMessage(config) {
|
|
35
|
+
const issues = [];
|
|
36
|
+
if (config.MEMBER_ID_LENGTH !== config.idProvider.byteLength) {
|
|
37
|
+
issues.push((0, ecies_i18n_factory_1.getNodeEciesTranslation)(node_keys_1.NodeEciesStringKey.Error_Invariant_MemberIdLengthMismatchTemplate, {
|
|
38
|
+
actual: config.MEMBER_ID_LENGTH,
|
|
39
|
+
expected: config.idProvider.byteLength,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
if (config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
|
|
43
|
+
issues.push((0, ecies_i18n_factory_1.getNodeEciesTranslation)(node_keys_1.NodeEciesStringKey.Error_Invariant_EciesMultipleRecipientIdSizeMismatchTemplate, {
|
|
44
|
+
actual: config.ECIES.MULTIPLE.RECIPIENT_ID_SIZE,
|
|
45
|
+
expected: config.idProvider.byteLength,
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
if (config.ENCRYPTION && 'RECIPIENT_ID_SIZE' in config.ENCRYPTION) {
|
|
49
|
+
if (config.ENCRYPTION.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
|
|
50
|
+
issues.push((0, ecies_i18n_factory_1.getNodeEciesTranslation)(node_keys_1.NodeEciesStringKey.Error_Invariant_EncryptionRecipientIdSizeMismatchTemplate, {
|
|
51
|
+
actual: config.ENCRYPTION.RECIPIENT_ID_SIZE,
|
|
52
|
+
expected: config.idProvider.byteLength,
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return (0, ecies_i18n_factory_1.getNodeEciesTranslation)(node_keys_1.NodeEciesStringKey.Error_Invariant_NodeRecipientIdConsistency_FailedTemplate, {
|
|
57
|
+
issues: issues.join('\n '),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.RecipientIdConsistencyInvariant = RecipientIdConsistencyInvariant;
|
|
62
|
+
//# sourceMappingURL=recipient-id-consistency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipient-id-consistency.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/invariants/recipient-id-consistency.ts"],"names":[],"mappings":";;;AAAA,0DAA2D;AAE3D,oDAA0D;AAC1D,sEAAwE;AAExE;;;;;;;;;;;;;GAaG;AACH,MAAa,+BAAgC,SAAQ,yBAAa;IAChE;QACE,KAAK,CACH,4BAA4B,EAC5B,2HAA2H,CAC5H,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAkB;QACtB,MAAM,UAAU,GACd,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU;YACxD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAE3E,+DAA+D;QAC/D,IAAI,MAAM,CAAC,UAAU,IAAI,mBAAmB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClE,OAAO,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5F,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CACT,IAAA,4CAAuB,EAAC,8BAAkB,CAAC,8CAA8C,EAAE;gBACzF,MAAM,EAAE,MAAM,CAAC,gBAAgB;gBAC/B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;aACvC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CACT,IAAA,4CAAuB,EAAC,8BAAkB,CAAC,4DAA4D,EAAE;gBACvG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB;gBAC/C,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;aACvC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,IAAI,mBAAmB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClE,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACzE,MAAM,CAAC,IAAI,CACT,IAAA,4CAAuB,EAAC,8BAAkB,CAAC,yDAAyD,EAAE;oBACpG,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,iBAAiB;oBAC3C,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;iBACvC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAA,4CAAuB,EAAC,8BAAkB,CAAC,yDAAyD,EAAE;YAC3G,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AAzDD,0EAyDC"}
|
package/src/member.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { SignatureBuffer } from './types';
|
|
|
16
16
|
/**
|
|
17
17
|
* A member of an ECIES interchange
|
|
18
18
|
*/
|
|
19
|
-
export declare class Member
|
|
19
|
+
export declare class Member<TID extends string | Types.ObjectId | Buffer | Uint8Array = Buffer> implements IBackendMemberOperational<TID> {
|
|
20
20
|
private readonly _eciesService;
|
|
21
21
|
private readonly _id;
|
|
22
22
|
private readonly _type;
|
|
@@ -28,13 +28,13 @@ export declare class Member implements IBackendMemberOperational<Types.ObjectId>
|
|
|
28
28
|
private readonly _dateUpdated;
|
|
29
29
|
private _privateKey?;
|
|
30
30
|
private _wallet?;
|
|
31
|
-
constructor(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, publicKey: Buffer, privateKey?: SecureBuffer, wallet?: Wallet, id?:
|
|
32
|
-
get id():
|
|
31
|
+
constructor(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, publicKey: Buffer, privateKey?: SecureBuffer, wallet?: Wallet, id?: TID, dateCreated?: Date, dateUpdated?: Date, creatorId?: TID);
|
|
32
|
+
get id(): TID;
|
|
33
33
|
get type(): MemberType;
|
|
34
34
|
get name(): string;
|
|
35
35
|
get email(): EmailString;
|
|
36
36
|
get publicKey(): Buffer;
|
|
37
|
-
get creatorId():
|
|
37
|
+
get creatorId(): TID;
|
|
38
38
|
get dateCreated(): Date;
|
|
39
39
|
get dateUpdated(): Date;
|
|
40
40
|
get privateKey(): SecureBuffer | undefined;
|
|
@@ -71,8 +71,8 @@ export declare class Member implements IBackendMemberOperational<Types.ObjectId>
|
|
|
71
71
|
signal?: AbortSignal;
|
|
72
72
|
}): AsyncGenerator<Buffer, void, unknown>;
|
|
73
73
|
static fromJson(json: string, eciesService: ECIESService): Member;
|
|
74
|
-
static fromMnemonic(mnemonic: SecureString, eciesService: ECIESService, memberType?:
|
|
75
|
-
static newMember(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, forceMnemonic?: SecureString, createdBy?:
|
|
74
|
+
static fromMnemonic(mnemonic: SecureString, eciesService: ECIESService, memberType?: any, name?: string, email?: any): Member;
|
|
75
|
+
static newMember(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, forceMnemonic?: SecureString, createdBy?: Buffer): {
|
|
76
76
|
member: Member;
|
|
77
77
|
mnemonic: SecureString;
|
|
78
78
|
};
|
package/src/member.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/member.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/member.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEX,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAM5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAKxC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C;;GAEG;AACH,qBAAa,MAAM,CAAC,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAE,YAAW,yBAAyB,CAAC,GAAG,CAAC;IAC/H,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;IACpC,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAIvB,YAAY,EAAE,YAAY,EAE1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,GAAG,EACR,WAAW,CAAC,EAAE,IAAI,EAClB,WAAW,CAAC,EAAE,IAAI,EAClB,SAAS,CAAC,EAAE,GAAG;IA2CjB,IAAW,EAAE,IAAI,GAAG,CAEnB;IACD,IAAW,IAAI,IAAI,UAAU,CAE5B;IACD,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,KAAK,IAAI,WAAW,CAE9B;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,SAAS,IAAI,GAAG,CAE1B;IACD,IAAW,WAAW,IAAI,IAAI,CAE7B;IACD,IAAW,WAAW,IAAI,IAAI,CAE7B;IAGD,IAAW,UAAU,IAAI,YAAY,GAAG,SAAS,CAEhD;IACD,IAAW,MAAM,IAAI,MAAM,CAQ1B;IAGD,IAAW,aAAa,IAAI,OAAO,CAElC;IAEM,gBAAgB,IAAI,IAAI;IAMxB,YAAY,IAAI,IAAI;IAIpB,yBAAyB,IAAI,IAAI;IAKjC,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IA4B/C;;;;;OAKG;IACI,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAI9C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAenC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAevC,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzD,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO;IAQV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA0B;IAE7D,WAAW,CAChB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM;IAqCF,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAiB1C,MAAM,IAAI,MAAM;IAchB,OAAO,IAAI,IAAI;IASR,iBAAiB,CAC7B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC;IAYnC,iBAAiB,CAC7B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;WAoB1B,QAAQ,CACpB,IAAI,EAAE,MAAM,EAEZ,YAAY,EAAE,YAAY,GACzB,MAAM;WAqBK,YAAY,CACxB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,MAAkB,EAC5B,IAAI,SAAc,EAClB,KAAK,MAAsC,GAC1C,MAAM;WAiBK,SAAS,CAErB,YAAY,EAAE,YAAY,EAE1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE;CA+D9C"}
|
package/src/member.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Member = exports.NodeMemberError = void 0;
|
|
4
|
+
const secp256k1_1 = require("ethereum-cryptography/secp256k1");
|
|
4
5
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
6
|
const ecies_i18n_factory_1 = require("./i18n/ecies-i18n-factory");
|
|
6
7
|
/**
|
|
@@ -16,8 +17,7 @@ class NodeMemberError extends Error {
|
|
|
16
17
|
}
|
|
17
18
|
exports.NodeMemberError = NodeMemberError;
|
|
18
19
|
const encryption_stream_1 = require("./services/encryption-stream");
|
|
19
|
-
|
|
20
|
-
const mongodb_1 = require("mongodb");
|
|
20
|
+
const constants_1 = require("./constants");
|
|
21
21
|
/**
|
|
22
22
|
* A member of an ECIES interchange
|
|
23
23
|
*/
|
|
@@ -42,7 +42,7 @@ class Member {
|
|
|
42
42
|
this._eciesService = eciesService;
|
|
43
43
|
// Assign original parameters
|
|
44
44
|
this._type = type;
|
|
45
|
-
this._id = id ??
|
|
45
|
+
this._id = id ?? Buffer.from(constants_1.Constants.idProvider.generate());
|
|
46
46
|
this._name = name;
|
|
47
47
|
if (!this._name || this._name.length == 0) {
|
|
48
48
|
throw new NodeMemberError((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Member_MissingMemberName), ecies_lib_1.MemberErrorType.MissingMemberName);
|
|
@@ -123,11 +123,8 @@ class Member {
|
|
|
123
123
|
}
|
|
124
124
|
const { wallet } = this._eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
125
125
|
const privateKey = wallet.getPrivateKey();
|
|
126
|
-
const publicKey =
|
|
127
|
-
const publicKeyWithPrefix = Buffer.
|
|
128
|
-
Buffer.from([ecies_lib_1.ECIES.PUBLIC_KEY_MAGIC]),
|
|
129
|
-
publicKey,
|
|
130
|
-
]);
|
|
126
|
+
const publicKey = secp256k1_1.secp256k1.getPublicKey(privateKey, true);
|
|
127
|
+
const publicKeyWithPrefix = Buffer.from(publicKey);
|
|
131
128
|
if (publicKeyWithPrefix.toString('hex') !== this._publicKey.toString('hex')) {
|
|
132
129
|
throw new NodeMemberError((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Member_InvalidMnemonic), ecies_lib_1.MemberErrorType.InvalidMnemonic);
|
|
133
130
|
}
|
|
@@ -190,12 +187,12 @@ class Member {
|
|
|
190
187
|
}
|
|
191
188
|
toJson() {
|
|
192
189
|
const storage = {
|
|
193
|
-
id: this._id
|
|
190
|
+
id: constants_1.Constants.idProvider.serialize(this._id),
|
|
194
191
|
type: this._type,
|
|
195
192
|
name: this._name,
|
|
196
193
|
email: this._email.toString(),
|
|
197
194
|
publicKey: this._publicKey.toString('base64'),
|
|
198
|
-
creatorId: this._creatorId
|
|
195
|
+
creatorId: constants_1.Constants.idProvider.serialize(this._creatorId),
|
|
199
196
|
dateCreated: this._dateCreated.toISOString(),
|
|
200
197
|
dateUpdated: this._dateUpdated.toISOString(),
|
|
201
198
|
};
|
|
@@ -239,15 +236,13 @@ class Member {
|
|
|
239
236
|
const email = new ecies_lib_1.EmailString(storage.email);
|
|
240
237
|
// Pass injected services to constructor
|
|
241
238
|
const dateCreated = new Date(storage.dateCreated);
|
|
242
|
-
return new Member(eciesService, storage.type, storage.name, email, Buffer.from(storage.publicKey, 'base64'), undefined, undefined,
|
|
239
|
+
return new Member(eciesService, storage.type, storage.name, email, Buffer.from(storage.publicKey, 'base64'), undefined, undefined, Buffer.from(constants_1.Constants.idProvider.deserialize(storage.id)), dateCreated, new Date(storage.dateUpdated), Buffer.from(constants_1.Constants.idProvider.deserialize(storage.creatorId)));
|
|
243
240
|
}
|
|
244
241
|
static fromMnemonic(mnemonic, eciesService, memberType = ecies_lib_1.MemberType.User, name = 'Test User', email = new ecies_lib_1.EmailString('test@example.com')) {
|
|
245
242
|
const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
246
243
|
const privateKey = wallet.getPrivateKey();
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
wallet.getPublicKey(),
|
|
250
|
-
]);
|
|
244
|
+
const publicKey = secp256k1_1.secp256k1.getPublicKey(privateKey, true);
|
|
245
|
+
const publicKeyWithPrefix = Buffer.from(publicKey);
|
|
251
246
|
return new Member(eciesService, memberType, name, email, publicKeyWithPrefix, new ecies_lib_1.SecureBuffer(privateKey), wallet);
|
|
252
247
|
}
|
|
253
248
|
static newMember(
|
|
@@ -274,11 +269,9 @@ class Member {
|
|
|
274
269
|
// Get private key from wallet
|
|
275
270
|
const privateKey = wallet.getPrivateKey();
|
|
276
271
|
// Get public key with 0x04 prefix
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
]);
|
|
281
|
-
const newId = new mongodb_1.ObjectId();
|
|
272
|
+
const publicKey = secp256k1_1.secp256k1.getPublicKey(privateKey, true);
|
|
273
|
+
const publicKeyWithPrefix = Buffer.from(publicKey);
|
|
274
|
+
const newId = Buffer.from(constants_1.Constants.idProvider.generate());
|
|
282
275
|
const dateCreated = new Date();
|
|
283
276
|
return {
|
|
284
277
|
// Pass injected services to constructor
|
package/src/member.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class AESGCMService {
|
|
|
16
16
|
* @param authTag Whether to return separate auth tag
|
|
17
17
|
* @returns Encrypted data with IV and optional separate auth tag
|
|
18
18
|
*/
|
|
19
|
-
encrypt(data: Buffer, key: Buffer, authTag?: boolean): {
|
|
19
|
+
encrypt(data: Buffer, key: Buffer, authTag?: boolean, aad?: Buffer): {
|
|
20
20
|
encrypted: Buffer;
|
|
21
21
|
iv: Buffer;
|
|
22
22
|
tag?: Buffer;
|
|
@@ -61,6 +61,6 @@ export declare class AESGCMService {
|
|
|
61
61
|
* @param authTag Whether the encrypted data includes an authentication tag
|
|
62
62
|
* @returns Decrypted data
|
|
63
63
|
*/
|
|
64
|
-
decrypt(iv: Buffer, encryptedData: Buffer, key: Buffer, authTag?: boolean): Buffer;
|
|
64
|
+
decrypt(iv: Buffer, encryptedData: Buffer, key: Buffer, authTag?: boolean, aad?: Buffer): Buffer;
|
|
65
65
|
}
|
|
66
66
|
//# 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":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAQrD,qBAAa,aAAa;IACxB,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,GAAE,UAAsB;IAS7C,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,
|
|
1
|
+
{"version":3,"file":"aes-gcm.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAQrD,qBAAa,aAAa;IACxB,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,GAAE,UAAsB;IAS7C,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;IAyDlD;;;;;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;IAqB/C;;;;;;;OAOG;IACI,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAe,EACxB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;CA+DV"}
|
package/src/services/aes-gcm.js
CHANGED
|
@@ -34,7 +34,7 @@ class AESGCMService {
|
|
|
34
34
|
* @param authTag Whether to return separate auth tag
|
|
35
35
|
* @returns Encrypted data with IV and optional separate auth tag
|
|
36
36
|
*/
|
|
37
|
-
encrypt(data, key, authTag = false) {
|
|
37
|
+
encrypt(data, key, authTag = false, aad) {
|
|
38
38
|
// Security fix 9: Key length validation - must match algorithm requirements
|
|
39
39
|
const requiredKeyLength = this.keyBits / 8;
|
|
40
40
|
if (key.length !== requiredKeyLength) {
|
|
@@ -53,6 +53,9 @@ class AESGCMService {
|
|
|
53
53
|
}
|
|
54
54
|
const iv = (0, crypto_1.randomBytes)(this.ivSize);
|
|
55
55
|
const cipher = (0, crypto_1.createCipheriv)(this.keyringAlgorithmConfiguration, key, iv);
|
|
56
|
+
if (aad) {
|
|
57
|
+
cipher.setAAD(aad);
|
|
58
|
+
}
|
|
56
59
|
const encrypted = Buffer.concat([cipher.update(data), cipher.final()]);
|
|
57
60
|
const tag = cipher.getAuthTag();
|
|
58
61
|
if (!authTag) {
|
|
@@ -119,7 +122,7 @@ class AESGCMService {
|
|
|
119
122
|
* @param authTag Whether the encrypted data includes an authentication tag
|
|
120
123
|
* @returns Decrypted data
|
|
121
124
|
*/
|
|
122
|
-
decrypt(iv, encryptedData, key, authTag = false) {
|
|
125
|
+
decrypt(iv, encryptedData, key, authTag = false, aad) {
|
|
123
126
|
// Security fix 9: Key length validation - must match algorithm requirements
|
|
124
127
|
const requiredKeyLength = this.keyBits / 8;
|
|
125
128
|
if (key.length !== requiredKeyLength) {
|
|
@@ -141,6 +144,9 @@ class AESGCMService {
|
|
|
141
144
|
throw new Error(pluginEngine.translate(i18n_1.NodeEciesComponentId, i18n_1.NodeEciesStringKey.Error_MessageTooLarge));
|
|
142
145
|
}
|
|
143
146
|
const decipher = (0, crypto_1.createDecipheriv)(this.keyringAlgorithmConfiguration, key, iv);
|
|
147
|
+
if (aad) {
|
|
148
|
+
decipher.setAAD(aad);
|
|
149
|
+
}
|
|
144
150
|
const tagLength = 16;
|
|
145
151
|
const tag = encryptedData.subarray(-tagLength);
|
|
146
152
|
const ciphertext = encryptedData.subarray(0, -tagLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-gcm.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/aes-gcm.ts"],"names":[],"mappings":";;;AAAA,mCAAuE;AAGvE,kCAIiB;AACjB,4CAAyC;AAEzC,MAAa,aAAa;IACP,aAAa,CAAS;IACtB,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,6BAA6B,CAAiB;IAE/D,YAAY,YAAwB,qBAAS;QAC3C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,6BAA6B;YAChC,SAAS,CAAC,+BAA+B,CAAC;IAC9C,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACI,OAAO,CACZ,IAAY,EACZ,GAAW,EACX,UAAmB,KAAK;
|
|
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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"}
|
|
@@ -79,5 +79,26 @@ export declare class EciesCryptoCore {
|
|
|
79
79
|
* @returns {Buffer} The shared secret
|
|
80
80
|
*/
|
|
81
81
|
computeSharedSecret(privateKey: Buffer, publicKey: Buffer): Buffer;
|
|
82
|
+
/**
|
|
83
|
+
* Derive a symmetric key from a shared secret using HKDF
|
|
84
|
+
* @param sharedSecret The shared secret (ECDH output)
|
|
85
|
+
* @param salt Optional salt
|
|
86
|
+
* @param info Optional context info
|
|
87
|
+
* @param length Length of the output key (default 32 for AES-256)
|
|
88
|
+
*/
|
|
89
|
+
deriveSharedKey(sharedSecret: Buffer, salt?: Buffer, info?: Buffer, length?: number): Buffer;
|
|
90
|
+
/**
|
|
91
|
+
* Sign a message using ECDSA
|
|
92
|
+
* @param privateKey The private key to sign with
|
|
93
|
+
* @param message The message to sign
|
|
94
|
+
*/
|
|
95
|
+
sign(privateKey: Buffer, message: Buffer): Buffer;
|
|
96
|
+
/**
|
|
97
|
+
* Verify a signature using ECDSA
|
|
98
|
+
* @param publicKey The public key to verify with
|
|
99
|
+
* @param message The message that was signed
|
|
100
|
+
* @param signature The signature to verify
|
|
101
|
+
*/
|
|
102
|
+
verify(publicKey: Buffer, message: Buffer, signature: Buffer): boolean;
|
|
82
103
|
}
|
|
83
104
|
//# sourceMappingURL=crypto-core.d.ts.map
|
|
@@ -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":"AAAA,OAAO,EAGL,YAAY,EACZ,eAAe,EAEf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto-core.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,eAAe,EAEf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D;;;GAGG;AACH,qBAAa,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAC5C,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,MAAM,IAAI,eAAe,CAEnC;gBAGC,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,eAAiC;IAMhD;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IA+EpD;;;OAGG;IACI,mBAAmB,IAAI,YAAY;IAI1C;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO3C;;;;OAIG;IACI,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAiBrE;;;;OAIG;IACI,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAUxE;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAKpE;;;;OAIG;IACI,6BAA6B,CAClC,QAAQ,EAAE,YAAY,GACrB,oBAAoB;IAKvB;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;OAIG;IACI,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAY/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;IAyBzE;;;;;;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,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQ9E"}
|
|
@@ -5,6 +5,7 @@ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
|
5
5
|
const wallet_1 = require("@ethereumjs/wallet");
|
|
6
6
|
const bip39_1 = require("bip39");
|
|
7
7
|
const secp256k1_js_1 = require("ethereum-cryptography/secp256k1.js");
|
|
8
|
+
const crypto_1 = require("crypto");
|
|
8
9
|
const ecies_i18n_factory_1 = require("../../i18n/ecies-i18n-factory");
|
|
9
10
|
const constants_1 = require("../../constants");
|
|
10
11
|
/**
|
|
@@ -37,13 +38,34 @@ class EciesCryptoCore {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
const keyLength = publicKey.length;
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
// console.log('[normalizePublicKey] Magic:', this._consts.PUBLIC_KEY_MAGIC);
|
|
42
|
+
// Check for compressed key (33 bytes, starts with 0x02 or 0x03)
|
|
43
|
+
if (keyLength === 33 &&
|
|
44
|
+
(publicKey[0] === 0x02 || publicKey[0] === 0x03)) {
|
|
45
|
+
return publicKey;
|
|
46
|
+
}
|
|
47
|
+
// Check for uncompressed key (65 bytes, starts with 0x04)
|
|
48
|
+
if (keyLength === 65 &&
|
|
49
|
+
publicKey[0] === 0x04) {
|
|
43
50
|
return publicKey;
|
|
44
51
|
}
|
|
45
52
|
// Raw key without prefix (64 bytes) - add the 0x04 prefix
|
|
53
|
+
if (keyLength === 64) {
|
|
54
|
+
return Buffer.concat([
|
|
55
|
+
Buffer.from([0x04]),
|
|
56
|
+
publicKey,
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
// Raw key without prefix (32 bytes) - add the 0x02 prefix (assuming even Y)
|
|
60
|
+
// Note: This is ambiguous for compressed keys as we don't know Y parity.
|
|
61
|
+
// But if we assume it's a raw X coordinate, we might default to 0x02?
|
|
62
|
+
// Actually, RAW_PUBLIC_KEY_LENGTH is 32.
|
|
46
63
|
if (keyLength === this._consts.RAW_PUBLIC_KEY_LENGTH) {
|
|
64
|
+
// If we only have X, we can't fully reconstruct without knowing Y parity.
|
|
65
|
+
// But maybe the intention of RAW_PUBLIC_KEY_LENGTH was for uncompressed without prefix (64 bytes)?
|
|
66
|
+
// The constants say RAW_PUBLIC_KEY_LENGTH = 32.
|
|
67
|
+
// So it expects X coordinate only.
|
|
68
|
+
// We can try to prepend 0x02.
|
|
47
69
|
return Buffer.concat([
|
|
48
70
|
Buffer.from([this._consts.PUBLIC_KEY_MAGIC]),
|
|
49
71
|
publicKey,
|
|
@@ -101,9 +123,7 @@ class EciesCryptoCore {
|
|
|
101
123
|
*/
|
|
102
124
|
walletToSimpleKeyPairBuffer(wallet) {
|
|
103
125
|
const privateKey = Buffer.from(wallet.getPrivateKey());
|
|
104
|
-
const
|
|
105
|
-
buf04[0] = this._consts.PUBLIC_KEY_MAGIC;
|
|
106
|
-
const publicKey = Buffer.concat([buf04, wallet.getPublicKey()]);
|
|
126
|
+
const publicKey = this.getPublicKey(privateKey);
|
|
107
127
|
return {
|
|
108
128
|
privateKey,
|
|
109
129
|
publicKey,
|
|
@@ -144,7 +164,7 @@ class EciesCryptoCore {
|
|
|
144
164
|
if (privateKey.every(byte => byte === 0)) {
|
|
145
165
|
throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.PrivateKeyNotLoaded, (0, ecies_i18n_factory_1.createEciesTranslationEngine)());
|
|
146
166
|
}
|
|
147
|
-
const publicKey = secp256k1_js_1.secp256k1.getPublicKey(privateKey,
|
|
167
|
+
const publicKey = secp256k1_js_1.secp256k1.getPublicKey(privateKey, true);
|
|
148
168
|
return Buffer.from(publicKey);
|
|
149
169
|
}
|
|
150
170
|
/**
|
|
@@ -177,6 +197,41 @@ class EciesCryptoCore {
|
|
|
177
197
|
}
|
|
178
198
|
return secret;
|
|
179
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Derive a symmetric key from a shared secret using HKDF
|
|
202
|
+
* @param sharedSecret The shared secret (ECDH output)
|
|
203
|
+
* @param salt Optional salt
|
|
204
|
+
* @param info Optional context info
|
|
205
|
+
* @param length Length of the output key (default 32 for AES-256)
|
|
206
|
+
*/
|
|
207
|
+
deriveSharedKey(sharedSecret, salt = Buffer.alloc(0), info = Buffer.alloc(0), length = 32) {
|
|
208
|
+
return Buffer.from((0, crypto_1.hkdfSync)('sha256', sharedSecret, salt, info, length));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Sign a message using ECDSA
|
|
212
|
+
* @param privateKey The private key to sign with
|
|
213
|
+
* @param message The message to sign
|
|
214
|
+
*/
|
|
215
|
+
sign(privateKey, message) {
|
|
216
|
+
const hash = (0, crypto_1.createHash)('sha256').update(message).digest();
|
|
217
|
+
const signature = secp256k1_js_1.secp256k1.sign(hash, privateKey);
|
|
218
|
+
return Buffer.from(signature.toCompactRawBytes());
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Verify a signature using ECDSA
|
|
222
|
+
* @param publicKey The public key to verify with
|
|
223
|
+
* @param message The message that was signed
|
|
224
|
+
* @param signature The signature to verify
|
|
225
|
+
*/
|
|
226
|
+
verify(publicKey, message, signature) {
|
|
227
|
+
const hash = (0, crypto_1.createHash)('sha256').update(message).digest();
|
|
228
|
+
try {
|
|
229
|
+
return secp256k1_js_1.secp256k1.verify(signature, hash, publicKey);
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
180
235
|
}
|
|
181
236
|
exports.EciesCryptoCore = EciesCryptoCore;
|
|
182
237
|
//# sourceMappingURL=crypto-core.js.map
|
|
@@ -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,0DAOoC;AACpC,+CAAmD;AACnD,iCAA+E;AAC/E,qEAA+D;AAC/D,sEAKuC;AAGvC,+CAA4C;AAE5C;;;GAGG;AACH,MAAa,eAAe;IACP,OAAO,CAAe;IACtB,OAAO,CAAkB;IAC5C,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YACE,MAAoB,EACpB,cAA+B,qBAAS,CAAC,KAAK;QAE9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,SAAiB;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAA,6CAAwB,GAAE,CAAC;YAChD,MAAM,IAAI,sBAAU,CAClB,8BAAkB,CAAC,yBAAyB,EAC5C,SAAS,EACT,SAAS,EACT;gBACE,KAAK,EAAE,YAAY,CAAC,SAAS,CAC3B,yCAAoB,EACpB,uCAAkB,CAAC,sBAAsB,CAC1C;aACF,CACF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;
|
|
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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"}
|
|
@@ -12,9 +12,7 @@ export declare class EciesMultiRecipient {
|
|
|
12
12
|
constructor(cryptoCore: EciesCryptoCore);
|
|
13
13
|
/**
|
|
14
14
|
* Get the size of the header for a given encryption type
|
|
15
|
-
* @param
|
|
16
|
-
* @param options Optional encryption options
|
|
17
|
-
* @param options.recipientCount The number of recipients
|
|
15
|
+
* @param recipientCount The number of recipients
|
|
18
16
|
* @returns
|
|
19
17
|
*/
|
|
20
18
|
getHeaderSize(recipientCount: number): number;
|
|
@@ -22,32 +20,38 @@ export declare class EciesMultiRecipient {
|
|
|
22
20
|
* Encrypt a message symmetric key with a public key
|
|
23
21
|
* @param receiverPublicKey The public key of the receiver
|
|
24
22
|
* @param messageSymmetricKey The message to encrypt
|
|
23
|
+
* @param ephemeralPrivateKey The ephemeral private key to use for encryption
|
|
24
|
+
* @param aad Additional Authenticated Data (optional)
|
|
25
25
|
* @returns The encrypted message
|
|
26
26
|
*/
|
|
27
|
-
encryptKey(receiverPublicKey: Buffer, messageSymmetricKey: Buffer): Buffer;
|
|
27
|
+
encryptKey(receiverPublicKey: Buffer, messageSymmetricKey: Buffer, ephemeralPrivateKey: Buffer, aad?: Buffer): Buffer;
|
|
28
28
|
/**
|
|
29
29
|
* Decrypts symmetric key encrypted with ECIES using a header
|
|
30
30
|
* @param privateKey The private key to decrypt the data
|
|
31
31
|
* @param encryptedKey The data to decrypt
|
|
32
|
+
* @param ephemeralPublicKey The ephemeral public key from the header
|
|
33
|
+
* @param aad Additional Authenticated Data (optional)
|
|
32
34
|
* @returns The decrypted data buffer
|
|
33
35
|
*/
|
|
34
|
-
decryptKey(privateKey: Buffer, encryptedKey: Buffer): Buffer;
|
|
36
|
+
decryptKey(privateKey: Buffer, encryptedKey: Buffer, ephemeralPublicKey: Buffer, aad?: Buffer): Buffer;
|
|
35
37
|
/**
|
|
36
38
|
* Encrypts a message for multiple recipients.
|
|
37
39
|
* @param recipients The recipients to encrypt the message for.
|
|
38
40
|
* @param message The message to encrypt.
|
|
39
41
|
* @param preamble Optional preamble to include in the encrypted message.
|
|
42
|
+
* @param senderPrivateKey Optional sender private key for signing.
|
|
40
43
|
* @returns The encrypted message.
|
|
41
44
|
* @throws EciesError if the number of recipients is greater than 65535.
|
|
42
45
|
*/
|
|
43
|
-
encryptMultiple(recipients: Member[], message: Buffer, preamble?: Buffer): IMultiEncryptedMessage;
|
|
46
|
+
encryptMultiple(recipients: Member[], message: Buffer, preamble?: Buffer, senderPrivateKey?: Buffer): IMultiEncryptedMessage;
|
|
44
47
|
/**
|
|
45
48
|
* Decrypts a message encrypted with multiple ECIE for a recipient.
|
|
46
49
|
* @param encryptedData The encrypted data.
|
|
47
50
|
* @param recipient The recipient.
|
|
51
|
+
* @param senderPublicKey Optional sender public key for verification.
|
|
48
52
|
* @returns The decrypted message.
|
|
49
53
|
*/
|
|
50
|
-
decryptMultipleECIEForRecipient(encryptedData: IMultiEncryptedMessage, recipient: Member): Buffer;
|
|
54
|
+
decryptMultipleECIEForRecipient(encryptedData: IMultiEncryptedMessage, recipient: Member, senderPublicKey?: Buffer): Buffer;
|
|
51
55
|
/**
|
|
52
56
|
* Calculate the overhead for a message encrypted for multiple recipients
|
|
53
57
|
* @param recipientCount number of recipients
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/multi-recipient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-recipient.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/multi-recipient.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;gBAG/D,UAAU,EAAE,eAAe;IAQ7B;;;;OAIG;IACI,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAapD;;;;;;;OAOG;IACI,UAAU,CACf,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;IAiFT;;;;;;;OAOG;IACI,UAAU,CACf,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;IA0ET;;;;;;;;OAQG;IACI,eAAe,CACpB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,sBAAsB;IAiHzB;;;;;;OAMG;IACI,+BAA+B,CACpC,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM;IAoFT;;;;;;OAMG;IACI,uCAAuC,CAC5C,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,OAAO,EAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,MAAM;IAkCT;;;;;;OAMG;IACI,iCAAiC,CACtC,IAAI,EAAE,sBAAsB,GAC3B,MAAM;IAiHT;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAqJ3E;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;CASvE"}
|