@digitaldefiance/ecies-lib 1.1.23 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/package.json +13 -33
- package/src/constants.ts +474 -0
- package/src/email-string.ts +83 -0
- package/src/enumerations/ecies-encryption-type.ts +102 -0
- package/src/enumerations/ecies-error-type.ts +31 -0
- package/src/enumerations/ecies-string-key.ts +108 -0
- package/src/enumerations/guid-brand-type.ts +26 -0
- package/src/enumerations/guid-error-type.ts +6 -0
- package/{dist/enumerations/index.d.ts → src/enumerations/index.ts} +0 -1
- package/src/enumerations/invalid-email-type.ts +5 -0
- package/src/enumerations/length-encoding-type.ts +6 -0
- package/src/enumerations/length-error-type.ts +5 -0
- package/src/enumerations/member-error-type.ts +106 -0
- package/{dist/enumerations/member-type.d.ts → src/enumerations/member-type.ts} +7 -6
- package/src/enumerations/password-login-error-type.ts +4 -0
- package/src/enumerations/pbkdf2-error-type.ts +5 -0
- package/src/enumerations/pbkdf2-profile.ts +5 -0
- package/src/enumerations/secure-storage-error-type.ts +5 -0
- package/src/errors/disposed.ts +15 -0
- package/src/errors/ecies.ts +34 -0
- package/src/errors/guid.ts +34 -0
- package/{dist/errors/index.d.ts → src/errors/index.ts} +0 -1
- package/src/errors/invalid-email.ts +11 -0
- package/src/errors/length.ts +11 -0
- package/src/errors/member.ts +12 -0
- package/src/errors/pbkdf2.ts +12 -0
- package/src/errors/secure-storage.ts +13 -0
- package/src/errors/simple-ecies.ts +18 -0
- package/src/errors/simple-test-error.ts +6 -0
- package/src/guid.ts +800 -0
- package/src/i18n-setup.ts +1312 -0
- package/{dist/index.d.ts → src/index.ts} +0 -1
- package/src/interfaces/checksum-config.ts +4 -0
- package/src/interfaces/checksum-consts.ts +13 -0
- package/src/interfaces/constants.ts +48 -0
- package/src/interfaces/ecies-config.ts +8 -0
- package/src/interfaces/ecies-consts.ts +70 -0
- package/src/interfaces/ecies-file-service.ts +6 -0
- package/src/interfaces/guid.ts +53 -0
- package/{dist/interfaces/index.d.ts → src/interfaces/index.ts} +0 -1
- package/src/interfaces/library-error.ts +23 -0
- package/src/interfaces/member-operational.ts +54 -0
- package/{dist/interfaces/member-storage.d.ts → src/interfaces/member-storage.ts} +11 -10
- package/{dist/interfaces/member-with-mnemonic.d.ts → src/interfaces/member-with-mnemonic.ts} +3 -3
- package/src/interfaces/pbkdf2-config.ts +6 -0
- package/src/interfaces/pbkdf2-consts.ts +10 -0
- package/src/interfaces/pbkdf2-result.ts +5 -0
- package/src/member.ts +429 -0
- package/{dist/pbkdf2-profiles.d.ts → src/pbkdf2-profiles.ts} +2 -2
- package/src/phone-number.ts +18 -0
- package/src/regexes.ts +10 -0
- package/src/secure-buffer.ts +183 -0
- package/src/secure-string.ts +229 -0
- package/src/services/aes-gcm.ts +177 -0
- package/src/services/ecies/README.md +147 -0
- package/src/services/ecies/crypto-core.ts +180 -0
- package/src/services/ecies/example.ts +185 -0
- package/src/services/ecies/file.ts +167 -0
- package/{dist/services/ecies/index.d.ts → src/services/ecies/index.ts} +3 -1
- package/src/services/ecies/integration.ts +241 -0
- package/src/services/ecies/interfaces.ts +59 -0
- package/src/services/ecies/manual-test.ts +219 -0
- package/src/services/ecies/multi-recipient.ts +394 -0
- package/src/services/ecies/service.ts +317 -0
- package/src/services/ecies/signature.ts +93 -0
- package/src/services/ecies/single-recipient.ts +340 -0
- package/{dist/services/index.d.ts → src/services/index.ts} +0 -1
- package/src/services/password-login.ts +228 -0
- package/src/services/pbkdf2.ts +172 -0
- package/src/services/xor.ts +65 -0
- package/src/types/deep-partial.ts +11 -0
- package/{dist/types.d.ts → src/types.ts} +10 -4
- package/src/utils.ts +331 -0
- package/dist/constants.d.ts +0 -46
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -358
- package/dist/constants.js.map +0 -1
- package/dist/email-string.d.ts +0 -42
- package/dist/email-string.d.ts.map +0 -1
- package/dist/email-string.js +0 -75
- package/dist/email-string.js.map +0 -1
- package/dist/enumerations/ecies-encryption-type.d.ts +0 -15
- package/dist/enumerations/ecies-encryption-type.d.ts.map +0 -1
- package/dist/enumerations/ecies-encryption-type.js +0 -71
- package/dist/enumerations/ecies-encryption-type.js.map +0 -1
- package/dist/enumerations/ecies-error-type.d.ts +0 -32
- package/dist/enumerations/ecies-error-type.d.ts.map +0 -1
- package/dist/enumerations/ecies-error-type.js +0 -36
- package/dist/enumerations/ecies-error-type.js.map +0 -1
- package/dist/enumerations/ecies-string-key.d.ts +0 -96
- package/dist/enumerations/ecies-string-key.d.ts.map +0 -1
- package/dist/enumerations/ecies-string-key.js +0 -105
- package/dist/enumerations/ecies-string-key.js.map +0 -1
- package/dist/enumerations/guid-brand-type.d.ts +0 -27
- package/dist/enumerations/guid-brand-type.d.ts.map +0 -1
- package/dist/enumerations/guid-brand-type.js +0 -31
- package/dist/enumerations/guid-brand-type.js.map +0 -1
- package/dist/enumerations/guid-error-type.d.ts +0 -7
- package/dist/enumerations/guid-error-type.d.ts.map +0 -1
- package/dist/enumerations/guid-error-type.js +0 -11
- package/dist/enumerations/guid-error-type.js.map +0 -1
- package/dist/enumerations/index.d.ts.map +0 -1
- package/dist/enumerations/index.js +0 -31
- package/dist/enumerations/index.js.map +0 -1
- package/dist/enumerations/invalid-email-type.d.ts +0 -6
- package/dist/enumerations/invalid-email-type.d.ts.map +0 -1
- package/dist/enumerations/invalid-email-type.js +0 -10
- package/dist/enumerations/invalid-email-type.js.map +0 -1
- package/dist/enumerations/length-encoding-type.d.ts +0 -7
- package/dist/enumerations/length-encoding-type.d.ts.map +0 -1
- package/dist/enumerations/length-encoding-type.js +0 -11
- package/dist/enumerations/length-encoding-type.js.map +0 -1
- package/dist/enumerations/length-error-type.d.ts +0 -6
- package/dist/enumerations/length-error-type.d.ts.map +0 -1
- package/dist/enumerations/length-error-type.js +0 -10
- package/dist/enumerations/length-error-type.js.map +0 -1
- package/dist/enumerations/member-error-type.d.ts +0 -87
- package/dist/enumerations/member-error-type.d.ts.map +0 -1
- package/dist/enumerations/member-error-type.js +0 -91
- package/dist/enumerations/member-error-type.js.map +0 -1
- package/dist/enumerations/member-type.d.ts.map +0 -1
- package/dist/enumerations/member-type.js +0 -19
- package/dist/enumerations/member-type.js.map +0 -1
- package/dist/enumerations/password-login-error-type.d.ts +0 -5
- package/dist/enumerations/password-login-error-type.d.ts.map +0 -1
- package/dist/enumerations/password-login-error-type.js +0 -9
- package/dist/enumerations/password-login-error-type.js.map +0 -1
- package/dist/enumerations/pbkdf2-error-type.d.ts +0 -6
- package/dist/enumerations/pbkdf2-error-type.d.ts.map +0 -1
- package/dist/enumerations/pbkdf2-error-type.js +0 -10
- package/dist/enumerations/pbkdf2-error-type.js.map +0 -1
- package/dist/enumerations/pbkdf2-profile.d.ts +0 -6
- package/dist/enumerations/pbkdf2-profile.d.ts.map +0 -1
- package/dist/enumerations/pbkdf2-profile.js +0 -10
- package/dist/enumerations/pbkdf2-profile.js.map +0 -1
- package/dist/enumerations/secure-storage-error-type.d.ts +0 -6
- package/dist/enumerations/secure-storage-error-type.d.ts.map +0 -1
- package/dist/enumerations/secure-storage-error-type.js +0 -10
- package/dist/enumerations/secure-storage-error-type.js.map +0 -1
- package/dist/errors/disposed.d.ts +0 -4
- package/dist/errors/disposed.d.ts.map +0 -1
- package/dist/errors/disposed.js +0 -20
- package/dist/errors/disposed.js.map +0 -1
- package/dist/errors/ecies.d.ts +0 -7
- package/dist/errors/ecies.d.ts.map +0 -1
- package/dist/errors/ecies.js +0 -15
- package/dist/errors/ecies.js.map +0 -1
- package/dist/errors/guid.d.ts +0 -15
- package/dist/errors/guid.d.ts.map +0 -1
- package/dist/errors/guid.js +0 -26
- package/dist/errors/guid.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -25
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/invalid-email.d.ts +0 -7
- package/dist/errors/invalid-email.d.ts.map +0 -1
- package/dist/errors/invalid-email.js +0 -14
- package/dist/errors/invalid-email.js.map +0 -1
- package/dist/errors/length.d.ts +0 -7
- package/dist/errors/length.d.ts.map +0 -1
- package/dist/errors/length.js +0 -14
- package/dist/errors/length.js.map +0 -1
- package/dist/errors/member.d.ts +0 -7
- package/dist/errors/member.d.ts.map +0 -1
- package/dist/errors/member.js +0 -14
- package/dist/errors/member.js.map +0 -1
- package/dist/errors/pbkdf2.d.ts +0 -7
- package/dist/errors/pbkdf2.d.ts.map +0 -1
- package/dist/errors/pbkdf2.js +0 -14
- package/dist/errors/pbkdf2.js.map +0 -1
- package/dist/errors/secure-storage.d.ts +0 -7
- package/dist/errors/secure-storage.d.ts.map +0 -1
- package/dist/errors/secure-storage.js +0 -15
- package/dist/errors/secure-storage.js.map +0 -1
- package/dist/errors/simple-ecies.d.ts +0 -6
- package/dist/errors/simple-ecies.d.ts.map +0 -1
- package/dist/errors/simple-ecies.js +0 -15
- package/dist/errors/simple-ecies.js.map +0 -1
- package/dist/errors/simple-test-error.d.ts +0 -4
- package/dist/errors/simple-test-error.d.ts.map +0 -1
- package/dist/errors/simple-test-error.js +0 -11
- package/dist/errors/simple-test-error.js.map +0 -1
- package/dist/guid.d.ts +0 -153
- package/dist/guid.d.ts.map +0 -1
- package/dist/guid.js +0 -647
- package/dist/guid.js.map +0 -1
- package/dist/i18n-setup.d.ts +0 -24
- package/dist/i18n-setup.d.ts.map +0 -1
- package/dist/i18n-setup.js +0 -837
- package/dist/i18n-setup.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -32
- package/dist/index.js.map +0 -1
- package/dist/interfaces/checksum-config.d.ts +0 -5
- package/dist/interfaces/checksum-config.d.ts.map +0 -1
- package/dist/interfaces/checksum-config.js +0 -3
- package/dist/interfaces/checksum-config.js.map +0 -1
- package/dist/interfaces/checksum-consts.d.ts +0 -11
- package/dist/interfaces/checksum-consts.d.ts.map +0 -1
- package/dist/interfaces/checksum-consts.js +0 -3
- package/dist/interfaces/checksum-consts.js.map +0 -1
- package/dist/interfaces/constants.d.ts +0 -45
- package/dist/interfaces/constants.d.ts.map +0 -1
- package/dist/interfaces/constants.js +0 -3
- package/dist/interfaces/constants.js.map +0 -1
- package/dist/interfaces/ecies-config.d.ts +0 -9
- package/dist/interfaces/ecies-config.d.ts.map +0 -1
- package/dist/interfaces/ecies-config.js +0 -3
- package/dist/interfaces/ecies-config.js.map +0 -1
- package/dist/interfaces/ecies-consts.d.ts +0 -58
- package/dist/interfaces/ecies-consts.d.ts.map +0 -1
- package/dist/interfaces/ecies-consts.js +0 -3
- package/dist/interfaces/ecies-consts.js.map +0 -1
- package/dist/interfaces/ecies-file-service.d.ts +0 -7
- package/dist/interfaces/ecies-file-service.d.ts.map +0 -1
- package/dist/interfaces/ecies-file-service.js +0 -3
- package/dist/interfaces/ecies-file-service.js.map +0 -1
- package/dist/interfaces/guid.d.ts +0 -45
- package/dist/interfaces/guid.d.ts.map +0 -1
- package/dist/interfaces/guid.js +0 -3
- package/dist/interfaces/guid.js.map +0 -1
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -30
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/library-error.d.ts +0 -23
- package/dist/interfaces/library-error.d.ts.map +0 -1
- package/dist/interfaces/library-error.js +0 -3
- package/dist/interfaces/library-error.js.map +0 -1
- package/dist/interfaces/member-operational.d.ts +0 -40
- package/dist/interfaces/member-operational.d.ts.map +0 -1
- package/dist/interfaces/member-operational.js +0 -3
- package/dist/interfaces/member-operational.js.map +0 -1
- package/dist/interfaces/member-storage.d.ts.map +0 -1
- package/dist/interfaces/member-storage.js +0 -3
- package/dist/interfaces/member-storage.js.map +0 -1
- package/dist/interfaces/member-with-mnemonic.d.ts.map +0 -1
- package/dist/interfaces/member-with-mnemonic.js +0 -3
- package/dist/interfaces/member-with-mnemonic.js.map +0 -1
- package/dist/interfaces/pbkdf2-config.d.ts +0 -7
- package/dist/interfaces/pbkdf2-config.d.ts.map +0 -1
- package/dist/interfaces/pbkdf2-config.js +0 -3
- package/dist/interfaces/pbkdf2-config.js.map +0 -1
- package/dist/interfaces/pbkdf2-consts.d.ts +0 -9
- package/dist/interfaces/pbkdf2-consts.d.ts.map +0 -1
- package/dist/interfaces/pbkdf2-consts.js +0 -3
- package/dist/interfaces/pbkdf2-consts.js.map +0 -1
- package/dist/interfaces/pbkdf2-result.d.ts +0 -6
- package/dist/interfaces/pbkdf2-result.d.ts.map +0 -1
- package/dist/interfaces/pbkdf2-result.js +0 -3
- package/dist/interfaces/pbkdf2-result.js.map +0 -1
- package/dist/member.d.ts +0 -66
- package/dist/member.d.ts.map +0 -1
- package/dist/member.js +0 -271
- package/dist/member.js.map +0 -1
- package/dist/pbkdf2-profiles.d.ts.map +0 -1
- package/dist/pbkdf2-profiles.js +0 -3
- package/dist/pbkdf2-profiles.js.map +0 -1
- package/dist/phone-number.d.ts +0 -6
- package/dist/phone-number.d.ts.map +0 -1
- package/dist/phone-number.js +0 -22
- package/dist/phone-number.js.map +0 -1
- package/dist/regexes.d.ts +0 -7
- package/dist/regexes.d.ts.map +0 -1
- package/dist/regexes.js +0 -10
- package/dist/regexes.js.map +0 -1
- package/dist/secure-buffer.d.ts +0 -38
- package/dist/secure-buffer.d.ts.map +0 -1
- package/dist/secure-buffer.js +0 -168
- package/dist/secure-buffer.js.map +0 -1
- package/dist/secure-string.d.ts +0 -39
- package/dist/secure-string.d.ts.map +0 -1
- package/dist/secure-string.js +0 -195
- package/dist/secure-string.js.map +0 -1
- package/dist/services/aes-gcm.d.ts +0 -57
- package/dist/services/aes-gcm.d.ts.map +0 -1
- package/dist/services/aes-gcm.js +0 -111
- package/dist/services/aes-gcm.js.map +0 -1
- package/dist/services/ecies/crypto-core.d.ts +0 -51
- package/dist/services/ecies/crypto-core.d.ts.map +0 -1
- package/dist/services/ecies/crypto-core.js +0 -139
- package/dist/services/ecies/crypto-core.js.map +0 -1
- package/dist/services/ecies/example.d.ts +0 -25
- package/dist/services/ecies/example.d.ts.map +0 -1
- package/dist/services/ecies/example.js +0 -128
- package/dist/services/ecies/example.js.map +0 -1
- package/dist/services/ecies/file.d.ts +0 -18
- package/dist/services/ecies/file.d.ts.map +0 -1
- package/dist/services/ecies/file.js +0 -110
- package/dist/services/ecies/file.js.map +0 -1
- package/dist/services/ecies/index.d.ts.map +0 -1
- package/dist/services/ecies/index.js +0 -57
- package/dist/services/ecies/index.js.map +0 -1
- package/dist/services/ecies/integration.d.ts +0 -59
- package/dist/services/ecies/integration.d.ts.map +0 -1
- package/dist/services/ecies/integration.js +0 -172
- package/dist/services/ecies/integration.js.map +0 -1
- package/dist/services/ecies/interfaces.d.ts +0 -51
- package/dist/services/ecies/interfaces.d.ts.map +0 -1
- package/dist/services/ecies/interfaces.js +0 -6
- package/dist/services/ecies/interfaces.js.map +0 -1
- package/dist/services/ecies/manual-test.d.ts +0 -29
- package/dist/services/ecies/manual-test.d.ts.map +0 -1
- package/dist/services/ecies/manual-test.js +0 -171
- package/dist/services/ecies/manual-test.js.map +0 -1
- package/dist/services/ecies/multi-recipient.d.ts +0 -52
- package/dist/services/ecies/multi-recipient.d.ts.map +0 -1
- package/dist/services/ecies/multi-recipient.js +0 -243
- package/dist/services/ecies/multi-recipient.js.map +0 -1
- package/dist/services/ecies/service.d.ts +0 -104
- package/dist/services/ecies/service.d.ts.map +0 -1
- package/dist/services/ecies/service.js +0 -192
- package/dist/services/ecies/service.js.map +0 -1
- package/dist/services/ecies/signature.d.ts +0 -27
- package/dist/services/ecies/signature.d.ts.map +0 -1
- package/dist/services/ecies/signature.js +0 -76
- package/dist/services/ecies/signature.js.map +0 -1
- package/dist/services/ecies/single-recipient.d.ts +0 -46
- package/dist/services/ecies/single-recipient.d.ts.map +0 -1
- package/dist/services/ecies/single-recipient.js +0 -212
- package/dist/services/ecies/single-recipient.js.map +0 -1
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -22
- package/dist/services/index.js.map +0 -1
- package/dist/services/password-login.d.ts +0 -49
- package/dist/services/password-login.d.ts.map +0 -1
- package/dist/services/password-login.js +0 -121
- package/dist/services/password-login.js.map +0 -1
- package/dist/services/pbkdf2.d.ts +0 -56
- package/dist/services/pbkdf2.d.ts.map +0 -1
- package/dist/services/pbkdf2.js +0 -114
- package/dist/services/pbkdf2.js.map +0 -1
- package/dist/services/xor.d.ts +0 -37
- package/dist/services/xor.d.ts.map +0 -1
- package/dist/services/xor.js +0 -67
- package/dist/services/xor.js.map +0 -1
- package/dist/types/deep-partial.d.ts +0 -4
- package/dist/types/deep-partial.d.ts.map +0 -1
- package/dist/types/deep-partial.js +0 -3
- package/dist/types/deep-partial.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -68
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -288
- package/dist/utils.js.map +0 -1
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Integration helpers for using the browser ECIES service with existing web-crypto functionality
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MigrationHelper = exports.EnhancedWebCryptoService = void 0;
|
|
7
|
-
const i18n_setup_1 = require("../../i18n-setup");
|
|
8
|
-
const utils_1 = require("../../utils");
|
|
9
|
-
const service_1 = require("./service");
|
|
10
|
-
const enumerations_1 = require("../../enumerations");
|
|
11
|
-
/**
|
|
12
|
-
* Enhanced web crypto service that uses the new ECIES implementation
|
|
13
|
-
*/
|
|
14
|
-
class EnhancedWebCryptoService {
|
|
15
|
-
ecies;
|
|
16
|
-
constructor() {
|
|
17
|
-
this.ecies = new service_1.ECIESService();
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Derive wallet from mnemonic using the new ECIES service
|
|
21
|
-
* This replaces the existing walletFromMnemonic method with better browser compatibility
|
|
22
|
-
*/
|
|
23
|
-
async walletFromMnemonic(mnemonic) {
|
|
24
|
-
const { wallet, seed } = this.ecies.walletAndSeedFromMnemonic(mnemonic);
|
|
25
|
-
return {
|
|
26
|
-
wallet,
|
|
27
|
-
seed,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Decrypt challenge using the new ECIES service
|
|
32
|
-
* This provides better compatibility and error handling than the original implementation
|
|
33
|
-
*/
|
|
34
|
-
async decryptChallenge(encryptedHex, privateKey) {
|
|
35
|
-
try {
|
|
36
|
-
const encryptedData = (0, utils_1.hexToUint8Array)(encryptedHex);
|
|
37
|
-
// Try to decrypt using single mode first (most common)
|
|
38
|
-
try {
|
|
39
|
-
return await this.ecies.decryptSimpleOrSingleWithHeader(false, privateKey, encryptedData);
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Fallback to simple mode
|
|
43
|
-
return await this.ecies.decryptSimpleOrSingleWithHeader(true, privateKey, encryptedData);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
const engine = (0, i18n_setup_1.getEciesI18nEngine)();
|
|
48
|
-
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, enumerations_1.EciesStringKey.Error_ECIESError_FailedToDecryptChallengeTemplate, { error: String(error) }));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Encrypt data for a recipient
|
|
53
|
-
*/
|
|
54
|
-
async encryptForRecipient(recipientPublicKey, data, useSimpleMode = false) {
|
|
55
|
-
const encrypted = await this.ecies.encryptSimpleOrSingle(!useSimpleMode, recipientPublicKey, data);
|
|
56
|
-
return (0, utils_1.uint8ArrayToHex)(encrypted);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Sign data with private key
|
|
60
|
-
*/
|
|
61
|
-
signData(privateKey, data) {
|
|
62
|
-
const signature = this.ecies.signMessage(privateKey, data);
|
|
63
|
-
return (0, utils_1.uint8ArrayToHex)(signature);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Verify signature
|
|
67
|
-
*/
|
|
68
|
-
verifySignature(publicKey, data, signatureHex) {
|
|
69
|
-
const signature = (0, utils_1.hexToUint8Array)(signatureHex);
|
|
70
|
-
return this.ecies.verifyMessage(publicKey, data, signature);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Generate new mnemonic
|
|
74
|
-
*/
|
|
75
|
-
generateMnemonic() {
|
|
76
|
-
return this.ecies.generateNewMnemonic();
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Complete client-side challenge verification (enhanced version)
|
|
80
|
-
*/
|
|
81
|
-
async verifyChallengeResponse(encryptedChallenge, mnemonic, systemPublicKeyHex) {
|
|
82
|
-
// Derive keys from mnemonic
|
|
83
|
-
const { wallet } = await this.walletFromMnemonic(mnemonic);
|
|
84
|
-
// Decrypt the challenge
|
|
85
|
-
const decryptedPayload = await this.decryptChallenge(encryptedChallenge, wallet.getPrivateKey());
|
|
86
|
-
// Extract nonce and signature (assuming 48 bytes payload + signature)
|
|
87
|
-
const payload = decryptedPayload.slice(0, 48);
|
|
88
|
-
const signature = decryptedPayload.slice(48);
|
|
89
|
-
// Convert system public key from hex
|
|
90
|
-
const systemPubKey = (0, utils_1.hexToUint8Array)(systemPublicKeyHex);
|
|
91
|
-
// Verify system signature
|
|
92
|
-
const isValid = this.verifySignature(systemPubKey, payload, (0, utils_1.uint8ArrayToHex)(signature));
|
|
93
|
-
if (!isValid) {
|
|
94
|
-
const engine = (0, i18n_setup_1.getEciesI18nEngine)();
|
|
95
|
-
const error = engine.translate(i18n_setup_1.EciesComponentId, enumerations_1.EciesStringKey.Error_ECIESError_InvalidChallengeSignature);
|
|
96
|
-
}
|
|
97
|
-
return (0, utils_1.uint8ArrayToHex)(decryptedPayload);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.EnhancedWebCryptoService = EnhancedWebCryptoService;
|
|
101
|
-
/**
|
|
102
|
-
* Migration helper to transition from old WebCryptoService to new ECIES service
|
|
103
|
-
*/
|
|
104
|
-
class MigrationHelper {
|
|
105
|
-
/**
|
|
106
|
-
* Test compatibility between old and new implementations
|
|
107
|
-
*/
|
|
108
|
-
static async testCompatibility(mnemonic) {
|
|
109
|
-
try {
|
|
110
|
-
const ecies = new service_1.ECIESService();
|
|
111
|
-
const enhanced = new EnhancedWebCryptoService();
|
|
112
|
-
// Test mnemonic validation
|
|
113
|
-
let mnemonicValid = false;
|
|
114
|
-
try {
|
|
115
|
-
ecies.walletAndSeedFromMnemonic(mnemonic);
|
|
116
|
-
mnemonicValid = true;
|
|
117
|
-
}
|
|
118
|
-
catch {
|
|
119
|
-
mnemonicValid = false;
|
|
120
|
-
}
|
|
121
|
-
// Test key derivation
|
|
122
|
-
let keysMatch = false;
|
|
123
|
-
if (mnemonicValid) {
|
|
124
|
-
try {
|
|
125
|
-
const { wallet: wallet1 } = ecies.walletAndSeedFromMnemonic(mnemonic);
|
|
126
|
-
const { wallet: wallet2 } = await enhanced.walletFromMnemonic(mnemonic);
|
|
127
|
-
keysMatch =
|
|
128
|
-
(0, utils_1.uint8ArrayToHex)(wallet1.getPrivateKey()) ===
|
|
129
|
-
(0, utils_1.uint8ArrayToHex)(wallet2.getPrivateKey());
|
|
130
|
-
}
|
|
131
|
-
catch {
|
|
132
|
-
keysMatch = false;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Test encryption roundtrip
|
|
136
|
-
let encryptionWorks = false;
|
|
137
|
-
if (keysMatch) {
|
|
138
|
-
try {
|
|
139
|
-
const { wallet } = await enhanced.walletFromMnemonic(mnemonic);
|
|
140
|
-
const testMessage = (0, utils_1.stringToUint8Array)('Test message');
|
|
141
|
-
const encrypted = await enhanced.encryptForRecipient(wallet.getPublicKey(), testMessage);
|
|
142
|
-
const decrypted = await enhanced.decryptChallenge(encrypted, wallet.getPrivateKey());
|
|
143
|
-
encryptionWorks =
|
|
144
|
-
(0, utils_1.uint8ArrayToString)(testMessage) === (0, utils_1.uint8ArrayToString)(decrypted);
|
|
145
|
-
}
|
|
146
|
-
catch {
|
|
147
|
-
encryptionWorks = false;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return {
|
|
151
|
-
compatible: mnemonicValid && keysMatch && encryptionWorks,
|
|
152
|
-
details: {
|
|
153
|
-
mnemonicValid,
|
|
154
|
-
keysMatch,
|
|
155
|
-
encryptionWorks,
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
return {
|
|
161
|
-
compatible: false,
|
|
162
|
-
details: {
|
|
163
|
-
mnemonicValid: false,
|
|
164
|
-
keysMatch: false,
|
|
165
|
-
encryptionWorks: false,
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
exports.MigrationHelper = MigrationHelper;
|
|
172
|
-
//# sourceMappingURL=integration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/services/ecies/integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser-compatible ECIES interfaces
|
|
3
|
-
*/
|
|
4
|
-
import { Wallet } from '@ethereumjs/wallet';
|
|
5
|
-
import { EciesEncryptionTypeEnum } from '../../enumerations/ecies-encryption-type';
|
|
6
|
-
export interface ISimpleKeyPair {
|
|
7
|
-
privateKey: Uint8Array;
|
|
8
|
-
publicKey: Uint8Array;
|
|
9
|
-
}
|
|
10
|
-
export interface IWalletSeed {
|
|
11
|
-
wallet: Wallet;
|
|
12
|
-
seed: Uint8Array;
|
|
13
|
-
}
|
|
14
|
-
export interface ISingleEncryptedParsedHeader {
|
|
15
|
-
encryptionType: EciesEncryptionTypeEnum;
|
|
16
|
-
ephemeralPublicKey: Uint8Array;
|
|
17
|
-
iv: Uint8Array;
|
|
18
|
-
authTag: Uint8Array;
|
|
19
|
-
dataLength: number;
|
|
20
|
-
headerSize: number;
|
|
21
|
-
}
|
|
22
|
-
export interface IEncryptionResult {
|
|
23
|
-
encryptedData: Uint8Array;
|
|
24
|
-
ephemeralPublicKey: Uint8Array;
|
|
25
|
-
iv: Uint8Array;
|
|
26
|
-
authTag: Uint8Array;
|
|
27
|
-
}
|
|
28
|
-
export interface IDecryptionResult {
|
|
29
|
-
decrypted: Uint8Array;
|
|
30
|
-
consumedBytes: number;
|
|
31
|
-
}
|
|
32
|
-
export interface IMultiRecipient {
|
|
33
|
-
id: Uint8Array;
|
|
34
|
-
publicKey: Uint8Array;
|
|
35
|
-
}
|
|
36
|
-
export interface IMultiEncryptedMessage {
|
|
37
|
-
dataLength: number;
|
|
38
|
-
recipientCount: number;
|
|
39
|
-
recipientIds: Uint8Array[];
|
|
40
|
-
recipientKeys: Uint8Array[];
|
|
41
|
-
encryptedMessage: Uint8Array;
|
|
42
|
-
headerSize: number;
|
|
43
|
-
}
|
|
44
|
-
export interface IMultiEncryptedParsedHeader {
|
|
45
|
-
dataLength: number;
|
|
46
|
-
recipientCount: number;
|
|
47
|
-
recipientIds: Uint8Array[];
|
|
48
|
-
recipientKeys: Uint8Array[];
|
|
49
|
-
headerSize: number;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/services/ecies/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,uBAAuB,CAAC;IACxC,kBAAkB,EAAE,UAAU,CAAC;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,UAAU,CAAC;IAC1B,kBAAkB,EAAE,UAAU,CAAC;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,gBAAgB,EAAE,UAAU,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/services/ecies/interfaces.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simple integration tests for the browser ECIES service
|
|
3
|
-
* These tests can be run in the browser console to verify functionality
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Test basic encryption/decryption roundtrip
|
|
7
|
-
*/
|
|
8
|
-
export declare function testBasicEncryption(): Promise<boolean>;
|
|
9
|
-
/**
|
|
10
|
-
* Test simple mode encryption
|
|
11
|
-
*/
|
|
12
|
-
export declare function testSimpleEncryption(): Promise<boolean>;
|
|
13
|
-
/**
|
|
14
|
-
* Test signature operations
|
|
15
|
-
*/
|
|
16
|
-
export declare function testSignatures(): Promise<boolean>;
|
|
17
|
-
/**
|
|
18
|
-
* Test mnemonic validation
|
|
19
|
-
*/
|
|
20
|
-
export declare function testMnemonicValidation(): Promise<boolean>;
|
|
21
|
-
/**
|
|
22
|
-
* Test cross-party encryption (Alice encrypts for Bob)
|
|
23
|
-
*/
|
|
24
|
-
export declare function testCrossPartyEncryption(): Promise<boolean>;
|
|
25
|
-
/**
|
|
26
|
-
* Run all tests
|
|
27
|
-
*/
|
|
28
|
-
export declare function runAllTests(): Promise<void>;
|
|
29
|
-
//# sourceMappingURL=manual-test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manual-test.d.ts","sourceRoot":"","sources":["../../../src/services/ecies/manual-test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAuB5D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAuB7D;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBvD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CA6B/D;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CA4CjE;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCjD"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Simple integration tests for the browser ECIES service
|
|
4
|
-
* These tests can be run in the browser console to verify functionality
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.testBasicEncryption = testBasicEncryption;
|
|
8
|
-
exports.testSimpleEncryption = testSimpleEncryption;
|
|
9
|
-
exports.testSignatures = testSignatures;
|
|
10
|
-
exports.testMnemonicValidation = testMnemonicValidation;
|
|
11
|
-
exports.testCrossPartyEncryption = testCrossPartyEncryption;
|
|
12
|
-
exports.runAllTests = runAllTests;
|
|
13
|
-
const secure_string_1 = require("../../secure-string");
|
|
14
|
-
const utils_1 = require("../../utils");
|
|
15
|
-
const service_1 = require("./service");
|
|
16
|
-
/**
|
|
17
|
-
* Test basic encryption/decryption roundtrip
|
|
18
|
-
*/
|
|
19
|
-
async function testBasicEncryption() {
|
|
20
|
-
try {
|
|
21
|
-
const ecies = new service_1.ECIESService();
|
|
22
|
-
const mnemonic = ecies.generateNewMnemonic();
|
|
23
|
-
const { privateKey, publicKey } = ecies.mnemonicToSimpleKeyPair(mnemonic);
|
|
24
|
-
const message = (0, utils_1.stringToUint8Array)('Test message');
|
|
25
|
-
const encrypted = await ecies.encryptSimpleOrSingle(false, publicKey, message);
|
|
26
|
-
const decrypted = await ecies.decryptSimpleOrSingleWithHeader(false, privateKey, encrypted);
|
|
27
|
-
return (0, utils_1.uint8ArrayToString)(message) === (0, utils_1.uint8ArrayToString)(decrypted);
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error('Basic encryption test failed:', error);
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Test simple mode encryption
|
|
36
|
-
*/
|
|
37
|
-
async function testSimpleEncryption() {
|
|
38
|
-
try {
|
|
39
|
-
const ecies = new service_1.ECIESService();
|
|
40
|
-
const mnemonic = ecies.generateNewMnemonic();
|
|
41
|
-
const { privateKey, publicKey } = ecies.mnemonicToSimpleKeyPair(mnemonic);
|
|
42
|
-
const message = (0, utils_1.stringToUint8Array)('Simple test message');
|
|
43
|
-
const encrypted = await ecies.encryptSimpleOrSingle(true, publicKey, message);
|
|
44
|
-
const decrypted = await ecies.decryptSimpleOrSingleWithHeader(true, privateKey, encrypted);
|
|
45
|
-
return (0, utils_1.uint8ArrayToString)(message) === (0, utils_1.uint8ArrayToString)(decrypted);
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
console.error('Simple encryption test failed:', error);
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Test signature operations
|
|
54
|
-
*/
|
|
55
|
-
async function testSignatures() {
|
|
56
|
-
try {
|
|
57
|
-
const ecies = new service_1.ECIESService();
|
|
58
|
-
const mnemonic = ecies.generateNewMnemonic();
|
|
59
|
-
const { privateKey, publicKey } = ecies.mnemonicToSimpleKeyPair(mnemonic);
|
|
60
|
-
const message = (0, utils_1.stringToUint8Array)('Message to sign');
|
|
61
|
-
const signature = ecies.signMessage(privateKey, message);
|
|
62
|
-
const isValid = ecies.verifyMessage(publicKey, message, signature);
|
|
63
|
-
// Test with wrong message
|
|
64
|
-
const wrongMessage = (0, utils_1.stringToUint8Array)('Wrong message');
|
|
65
|
-
const isInvalid = ecies.verifyMessage(publicKey, wrongMessage, signature);
|
|
66
|
-
return isValid && !isInvalid;
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
console.error('Signature test failed:', error);
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Test mnemonic validation
|
|
75
|
-
*/
|
|
76
|
-
async function testMnemonicValidation() {
|
|
77
|
-
try {
|
|
78
|
-
const ecies = new service_1.ECIESService();
|
|
79
|
-
// Test valid mnemonic
|
|
80
|
-
const validMnemonic = new secure_string_1.SecureString('abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about');
|
|
81
|
-
const { wallet: wallet1 } = ecies.walletAndSeedFromMnemonic(validMnemonic);
|
|
82
|
-
const { wallet: wallet2 } = ecies.walletAndSeedFromMnemonic(validMnemonic);
|
|
83
|
-
// Should produce same keys
|
|
84
|
-
const sameKeys = (0, utils_1.uint8ArrayToHex)(wallet1.getPrivateKey()) ===
|
|
85
|
-
(0, utils_1.uint8ArrayToHex)(wallet2.getPrivateKey());
|
|
86
|
-
// Test invalid mnemonic
|
|
87
|
-
try {
|
|
88
|
-
ecies.walletAndSeedFromMnemonic(new secure_string_1.SecureString('invalid mnemonic phrase'));
|
|
89
|
-
return false; // Should have thrown
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
return sameKeys; // Expected to throw
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
console.error('Mnemonic validation test failed:', error);
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Test cross-party encryption (Alice encrypts for Bob)
|
|
102
|
-
*/
|
|
103
|
-
async function testCrossPartyEncryption() {
|
|
104
|
-
try {
|
|
105
|
-
const ecies = new service_1.ECIESService();
|
|
106
|
-
// Alice generates her keys
|
|
107
|
-
const aliceMnemonic = ecies.generateNewMnemonic();
|
|
108
|
-
const aliceKeys = ecies.mnemonicToSimpleKeyPair(aliceMnemonic);
|
|
109
|
-
// Bob generates his keys
|
|
110
|
-
const bobMnemonic = ecies.generateNewMnemonic();
|
|
111
|
-
const bobKeys = ecies.mnemonicToSimpleKeyPair(bobMnemonic);
|
|
112
|
-
// Alice encrypts a message for Bob
|
|
113
|
-
const message = (0, utils_1.stringToUint8Array)('Secret message from Alice to Bob');
|
|
114
|
-
const encrypted = await ecies.encryptSimpleOrSingle(false, bobKeys.publicKey, message);
|
|
115
|
-
// Bob decrypts the message
|
|
116
|
-
const decrypted = await ecies.decryptSimpleOrSingleWithHeader(false, bobKeys.privateKey, encrypted);
|
|
117
|
-
// Alice should not be able to decrypt (wrong private key)
|
|
118
|
-
try {
|
|
119
|
-
await ecies.decryptSimpleOrSingleWithHeader(false, aliceKeys.privateKey, encrypted);
|
|
120
|
-
return false; // Should have failed
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
// Expected to fail
|
|
124
|
-
}
|
|
125
|
-
return (0, utils_1.uint8ArrayToString)(message) === (0, utils_1.uint8ArrayToString)(decrypted);
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
console.error('Cross-party encryption test failed:', error);
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Run all tests
|
|
134
|
-
*/
|
|
135
|
-
async function runAllTests() {
|
|
136
|
-
console.log('Running browser ECIES service tests...\n');
|
|
137
|
-
const tests = [
|
|
138
|
-
{ name: 'Basic Encryption', test: testBasicEncryption },
|
|
139
|
-
{ name: 'Simple Encryption', test: testSimpleEncryption },
|
|
140
|
-
{ name: 'Digital Signatures', test: testSignatures },
|
|
141
|
-
{ name: 'Mnemonic Validation', test: testMnemonicValidation },
|
|
142
|
-
{ name: 'Cross-Party Encryption', test: testCrossPartyEncryption },
|
|
143
|
-
];
|
|
144
|
-
let passed = 0;
|
|
145
|
-
let failed = 0;
|
|
146
|
-
for (const { name, test } of tests) {
|
|
147
|
-
try {
|
|
148
|
-
const result = await test();
|
|
149
|
-
if (result) {
|
|
150
|
-
console.log(`✅ ${name}: PASSED`);
|
|
151
|
-
passed++;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
console.log(`❌ ${name}: FAILED`);
|
|
155
|
-
failed++;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
console.log(`❌ ${name}: ERROR - ${error}`);
|
|
160
|
-
failed++;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
console.log(`\nTest Results: ${passed} passed, ${failed} failed`);
|
|
164
|
-
if (failed === 0) {
|
|
165
|
-
console.log('🎉 All tests passed! The browser ECIES service is working correctly.');
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
console.log('⚠️ Some tests failed. Please check the implementation.');
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=manual-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manual-test.js","sourceRoot":"","sources":["../../../src/services/ecies/manual-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { IECIESConstants } from '../../interfaces/ecies-consts';
|
|
2
|
-
import { IECIESConfig } from '../../interfaces/ecies-config';
|
|
3
|
-
import { EciesCryptoCore } from './crypto-core';
|
|
4
|
-
import { IMultiEncryptedMessage, IMultiEncryptedParsedHeader, IMultiRecipient } from './interfaces';
|
|
5
|
-
/**
|
|
6
|
-
* Browser-compatible multi-recipient ECIES encryption/decryption
|
|
7
|
-
*/
|
|
8
|
-
export declare class EciesMultiRecipient {
|
|
9
|
-
protected readonly cryptoCore: EciesCryptoCore;
|
|
10
|
-
protected readonly eciesConsts: IECIESConstants;
|
|
11
|
-
constructor(config: IECIESConfig, eciesParams?: IECIESConstants);
|
|
12
|
-
/**
|
|
13
|
-
* Get the header size for multi-recipient encryption
|
|
14
|
-
*/
|
|
15
|
-
getHeaderSize(recipientCount: number): number;
|
|
16
|
-
/**
|
|
17
|
-
* Encrypt a message symmetric key with a public key
|
|
18
|
-
* @param receiverPublicKey The public key of the receiver
|
|
19
|
-
* @param messageSymmetricKey The message to encrypt
|
|
20
|
-
* @returns The encrypted message
|
|
21
|
-
*/
|
|
22
|
-
encryptKey(receiverPublicKey: Uint8Array, messageSymmetricKey: Uint8Array): Promise<Uint8Array>;
|
|
23
|
-
/**
|
|
24
|
-
* Decrypts symmetric key encrypted with ECIES
|
|
25
|
-
* @param privateKey The private key to decrypt the data
|
|
26
|
-
* @param encryptedKey The data to decrypt
|
|
27
|
-
* @returns The decrypted data buffer
|
|
28
|
-
*/
|
|
29
|
-
decryptKey(privateKey: Uint8Array, encryptedKey: Uint8Array): Promise<Uint8Array>;
|
|
30
|
-
/**
|
|
31
|
-
* Encrypt a message for multiple recipients
|
|
32
|
-
*/
|
|
33
|
-
encryptMultiple(recipients: IMultiRecipient[], message: Uint8Array, preamble?: Uint8Array): Promise<IMultiEncryptedMessage>;
|
|
34
|
-
/**
|
|
35
|
-
* Decrypt a multi-recipient message for a specific recipient
|
|
36
|
-
*/
|
|
37
|
-
decryptMultipleForRecipient(encryptedData: IMultiEncryptedMessage, recipientId: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>;
|
|
38
|
-
/**
|
|
39
|
-
* Build header for multi-recipient message
|
|
40
|
-
*/
|
|
41
|
-
buildHeader(data: IMultiEncryptedMessage): Uint8Array;
|
|
42
|
-
/**
|
|
43
|
-
* Parse multi-recipient header
|
|
44
|
-
*/
|
|
45
|
-
parseHeader(data: Uint8Array): IMultiEncryptedParsedHeader;
|
|
46
|
-
/**
|
|
47
|
-
* Parse complete multi-recipient message
|
|
48
|
-
*/
|
|
49
|
-
parseMessage(data: Uint8Array): IMultiEncryptedMessage;
|
|
50
|
-
private arraysEqual;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=multi-recipient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient.d.ts","sourceRoot":"","sources":["../../../src/services/ecies/multi-recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,cAAc,CAAC;AAItB;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;gBAEpC,MAAM,EAAE,YAAY,EAAE,WAAW,GAAE,eAAiC;IAKhF;;OAEG;IACI,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IASpD;;;;;OAKG;IACU,UAAU,CACrB,iBAAiB,EAAE,UAAU,EAC7B,mBAAmB,EAAE,UAAU,GAC9B,OAAO,CAAC,UAAU,CAAC;IA+BtB;;;;;OAKG;IACU,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IAoDtB;;OAEG;IACU,eAAe,CAC1B,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,UAAU,EACnB,QAAQ,GAAE,UAA8B,GACvC,OAAO,CAAC,sBAAsB,CAAC;IA6DlC;;OAEG;IACU,2BAA2B,CACtC,aAAa,EAAE,sBAAsB,EACrC,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,UAAU,CAAC;IAyDtB;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU;IAyC5D;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,2BAA2B;IAuDjE;;OAEG;IACI,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,sBAAsB;IAU7D,OAAO,CAAC,WAAW;CAOpB"}
|