@digitaldefiance/ecies-lib 1.1.24 → 1.1.26
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 +8 -0
- package/package.json +5 -4
- package/src/constants.d.ts +46 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +358 -0
- package/src/constants.js.map +1 -0
- package/src/email-string.d.ts +42 -0
- package/src/email-string.d.ts.map +1 -0
- package/src/email-string.js +73 -0
- package/src/email-string.js.map +1 -0
- package/src/enumerations/ecies-encryption-type.d.ts +15 -0
- package/src/enumerations/ecies-encryption-type.d.ts.map +1 -0
- package/src/enumerations/ecies-encryption-type.js +71 -0
- package/src/enumerations/ecies-encryption-type.js.map +1 -0
- package/src/enumerations/ecies-error-type.d.ts +32 -0
- package/src/enumerations/ecies-error-type.d.ts.map +1 -0
- package/src/enumerations/ecies-error-type.js +36 -0
- package/src/enumerations/ecies-error-type.js.map +1 -0
- package/src/enumerations/ecies-string-key.d.ts +96 -0
- package/src/enumerations/ecies-string-key.d.ts.map +1 -0
- package/src/enumerations/ecies-string-key.js +105 -0
- package/src/enumerations/ecies-string-key.js.map +1 -0
- package/src/enumerations/guid-brand-type.d.ts +27 -0
- package/src/enumerations/guid-brand-type.d.ts.map +1 -0
- package/src/enumerations/guid-brand-type.js +31 -0
- package/src/enumerations/guid-brand-type.js.map +1 -0
- package/src/enumerations/guid-error-type.d.ts +7 -0
- package/src/enumerations/guid-error-type.d.ts.map +1 -0
- package/src/enumerations/guid-error-type.js +11 -0
- package/src/enumerations/guid-error-type.js.map +1 -0
- package/src/enumerations/{index.ts → index.d.ts} +1 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +18 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/invalid-email-type.d.ts +6 -0
- package/src/enumerations/invalid-email-type.d.ts.map +1 -0
- package/src/enumerations/invalid-email-type.js +10 -0
- package/src/enumerations/invalid-email-type.js.map +1 -0
- package/src/enumerations/length-encoding-type.d.ts +7 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -0
- package/src/enumerations/length-encoding-type.js +11 -0
- package/src/enumerations/length-encoding-type.js.map +1 -0
- package/src/enumerations/length-error-type.d.ts +6 -0
- package/src/enumerations/length-error-type.d.ts.map +1 -0
- package/src/enumerations/length-error-type.js +10 -0
- package/src/enumerations/length-error-type.js.map +1 -0
- package/src/enumerations/member-error-type.d.ts +87 -0
- package/src/enumerations/member-error-type.d.ts.map +1 -0
- package/src/enumerations/member-error-type.js +91 -0
- package/src/enumerations/member-error-type.js.map +1 -0
- package/src/enumerations/{member-type.ts → member-type.d.ts} +6 -7
- package/src/enumerations/member-type.d.ts.map +1 -0
- package/src/enumerations/member-type.js +19 -0
- package/src/enumerations/member-type.js.map +1 -0
- package/src/enumerations/password-login-error-type.d.ts +5 -0
- package/src/enumerations/password-login-error-type.d.ts.map +1 -0
- package/src/enumerations/password-login-error-type.js +9 -0
- package/src/enumerations/password-login-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-error-type.d.ts +6 -0
- package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-error-type.js +10 -0
- package/src/enumerations/pbkdf2-error-type.js.map +1 -0
- package/src/enumerations/pbkdf2-profile.d.ts +6 -0
- package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
- package/src/enumerations/pbkdf2-profile.js +10 -0
- package/src/enumerations/pbkdf2-profile.js.map +1 -0
- package/src/enumerations/secure-storage-error-type.d.ts +6 -0
- package/src/enumerations/secure-storage-error-type.d.ts.map +1 -0
- package/src/enumerations/secure-storage-error-type.js +10 -0
- package/src/enumerations/secure-storage-error-type.js.map +1 -0
- package/src/errors/disposed.d.ts +4 -0
- package/src/errors/disposed.d.ts.map +1 -0
- package/src/errors/disposed.js +20 -0
- package/src/errors/disposed.js.map +1 -0
- package/src/errors/ecies.d.ts +7 -0
- package/src/errors/ecies.d.ts.map +1 -0
- package/src/errors/ecies.js +15 -0
- package/src/errors/ecies.js.map +1 -0
- package/src/errors/guid.d.ts +15 -0
- package/src/errors/guid.d.ts.map +1 -0
- package/src/errors/guid.js +26 -0
- package/src/errors/guid.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +12 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-email.d.ts +7 -0
- package/src/errors/invalid-email.d.ts.map +1 -0
- package/src/errors/invalid-email.js +14 -0
- package/src/errors/invalid-email.js.map +1 -0
- package/src/errors/length.d.ts +7 -0
- package/src/errors/length.d.ts.map +1 -0
- package/src/errors/length.js +14 -0
- package/src/errors/length.js.map +1 -0
- package/src/errors/member.d.ts +7 -0
- package/src/errors/member.d.ts.map +1 -0
- package/src/errors/member.js +14 -0
- package/src/errors/member.js.map +1 -0
- package/src/errors/pbkdf2.d.ts +7 -0
- package/src/errors/pbkdf2.d.ts.map +1 -0
- package/src/errors/pbkdf2.js +14 -0
- package/src/errors/pbkdf2.js.map +1 -0
- package/src/errors/secure-storage.d.ts +7 -0
- package/src/errors/secure-storage.d.ts.map +1 -0
- package/src/errors/secure-storage.js +15 -0
- package/src/errors/secure-storage.js.map +1 -0
- package/src/errors/simple-ecies.d.ts +6 -0
- package/src/errors/simple-ecies.d.ts.map +1 -0
- package/src/errors/simple-ecies.js +15 -0
- package/src/errors/simple-ecies.js.map +1 -0
- package/src/errors/simple-test-error.d.ts +4 -0
- package/src/errors/simple-test-error.d.ts.map +1 -0
- package/src/errors/simple-test-error.js +11 -0
- package/src/errors/simple-test-error.js.map +1 -0
- package/src/guid.d.ts +153 -0
- package/src/guid.d.ts.map +1 -0
- package/src/guid.js +615 -0
- package/src/guid.js.map +1 -0
- package/src/i18n-setup.d.ts +24 -0
- package/src/i18n-setup.d.ts.map +1 -0
- package/src/i18n-setup.js +837 -0
- package/src/i18n-setup.js.map +1 -0
- package/src/{index.ts → index.d.ts} +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +19 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +3 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +3 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/constants.d.ts +45 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/ecies-config.d.ts +9 -0
- package/src/interfaces/ecies-config.d.ts.map +1 -0
- package/src/interfaces/ecies-config.js +3 -0
- package/src/interfaces/ecies-config.js.map +1 -0
- package/src/interfaces/ecies-consts.d.ts +58 -0
- package/src/interfaces/ecies-consts.d.ts.map +1 -0
- package/src/interfaces/ecies-consts.js +3 -0
- package/src/interfaces/ecies-consts.js.map +1 -0
- package/src/interfaces/ecies-file-service.d.ts +7 -0
- package/src/interfaces/ecies-file-service.d.ts.map +1 -0
- package/src/interfaces/ecies-file-service.js +3 -0
- package/src/interfaces/ecies-file-service.js.map +1 -0
- package/src/interfaces/guid.d.ts +45 -0
- package/src/interfaces/guid.d.ts.map +1 -0
- package/src/interfaces/guid.js +3 -0
- package/src/interfaces/guid.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +17 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/library-error.d.ts +23 -0
- package/src/interfaces/library-error.d.ts.map +1 -0
- package/src/interfaces/library-error.js +3 -0
- package/src/interfaces/library-error.js.map +1 -0
- package/src/interfaces/member-operational.d.ts +40 -0
- package/src/interfaces/member-operational.d.ts.map +1 -0
- package/src/interfaces/member-operational.js +3 -0
- package/src/interfaces/member-operational.js.map +1 -0
- package/src/interfaces/{member-storage.ts → member-storage.d.ts} +10 -11
- package/src/interfaces/member-storage.d.ts.map +1 -0
- package/src/interfaces/member-storage.js +3 -0
- package/src/interfaces/member-storage.js.map +1 -0
- package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
- package/src/interfaces/member-with-mnemonic.js +3 -0
- package/src/interfaces/member-with-mnemonic.js.map +1 -0
- package/src/interfaces/pbkdf2-config.d.ts +7 -0
- package/src/interfaces/pbkdf2-config.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-config.js +3 -0
- package/src/interfaces/pbkdf2-config.js.map +1 -0
- package/src/interfaces/pbkdf2-consts.d.ts +9 -0
- package/src/interfaces/pbkdf2-consts.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-consts.js +3 -0
- package/src/interfaces/pbkdf2-consts.js.map +1 -0
- package/src/interfaces/pbkdf2-result.d.ts +6 -0
- package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
- package/src/interfaces/pbkdf2-result.js +3 -0
- package/src/interfaces/pbkdf2-result.js.map +1 -0
- package/src/member.d.ts +66 -0
- package/src/member.d.ts.map +1 -0
- package/src/member.js +269 -0
- package/src/member.js.map +1 -0
- package/src/{pbkdf2-profiles.ts → pbkdf2-profiles.d.ts} +2 -2
- package/src/pbkdf2-profiles.d.ts.map +1 -0
- package/src/pbkdf2-profiles.js +3 -0
- package/src/pbkdf2-profiles.js.map +1 -0
- package/src/phone-number.d.ts +6 -0
- package/src/phone-number.d.ts.map +1 -0
- package/src/phone-number.js +22 -0
- package/src/phone-number.js.map +1 -0
- package/src/regexes.d.ts +7 -0
- package/src/regexes.d.ts.map +1 -0
- package/src/regexes.js +10 -0
- package/src/regexes.js.map +1 -0
- package/src/secure-buffer.d.ts +38 -0
- package/src/secure-buffer.d.ts.map +1 -0
- package/src/secure-buffer.js +168 -0
- package/src/secure-buffer.js.map +1 -0
- package/src/secure-string.d.ts +39 -0
- package/src/secure-string.d.ts.map +1 -0
- package/src/secure-string.js +195 -0
- package/src/secure-string.js.map +1 -0
- package/src/services/aes-gcm.d.ts +57 -0
- package/src/services/aes-gcm.d.ts.map +1 -0
- package/src/services/aes-gcm.js +111 -0
- package/src/services/aes-gcm.js.map +1 -0
- package/src/services/ecies/crypto-core.d.ts +51 -0
- package/src/services/ecies/crypto-core.d.ts.map +1 -0
- package/src/services/ecies/crypto-core.js +139 -0
- package/src/services/ecies/crypto-core.js.map +1 -0
- package/src/services/ecies/example.d.ts +25 -0
- package/src/services/ecies/example.d.ts.map +1 -0
- package/src/services/ecies/example.js +128 -0
- package/src/services/ecies/example.js.map +1 -0
- package/src/services/ecies/file.d.ts +18 -0
- package/src/services/ecies/file.d.ts.map +1 -0
- package/src/services/ecies/file.js +110 -0
- package/src/services/ecies/file.js.map +1 -0
- package/src/services/ecies/{index.ts → index.d.ts} +1 -3
- package/src/services/ecies/index.d.ts.map +1 -0
- package/src/services/ecies/index.js +44 -0
- package/src/services/ecies/index.js.map +1 -0
- package/src/services/ecies/integration.d.ts +59 -0
- package/src/services/ecies/integration.d.ts.map +1 -0
- package/src/services/ecies/integration.js +172 -0
- package/src/services/ecies/integration.js.map +1 -0
- package/src/services/ecies/interfaces.d.ts +51 -0
- package/src/services/ecies/interfaces.d.ts.map +1 -0
- package/src/services/ecies/interfaces.js +6 -0
- package/src/services/ecies/interfaces.js.map +1 -0
- package/src/services/ecies/manual-test.d.ts +29 -0
- package/src/services/ecies/manual-test.d.ts.map +1 -0
- package/src/services/ecies/manual-test.js +171 -0
- package/src/services/ecies/manual-test.js.map +1 -0
- package/src/services/ecies/multi-recipient.d.ts +52 -0
- package/src/services/ecies/multi-recipient.d.ts.map +1 -0
- package/src/services/ecies/multi-recipient.js +243 -0
- package/src/services/ecies/multi-recipient.js.map +1 -0
- package/src/services/ecies/service.d.ts +104 -0
- package/src/services/ecies/service.d.ts.map +1 -0
- package/src/services/ecies/service.js +192 -0
- package/src/services/ecies/service.js.map +1 -0
- package/src/services/ecies/signature.d.ts +27 -0
- package/src/services/ecies/signature.d.ts.map +1 -0
- package/src/services/ecies/signature.js +76 -0
- package/src/services/ecies/signature.js.map +1 -0
- package/src/services/ecies/single-recipient.d.ts +46 -0
- package/src/services/ecies/single-recipient.d.ts.map +1 -0
- package/src/services/ecies/single-recipient.js +212 -0
- package/src/services/ecies/single-recipient.js.map +1 -0
- package/src/services/{index.ts → index.d.ts} +1 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +9 -0
- package/src/services/index.js.map +1 -0
- package/src/services/password-login.d.ts +49 -0
- package/src/services/password-login.d.ts.map +1 -0
- package/src/services/password-login.js +121 -0
- package/src/services/password-login.js.map +1 -0
- package/src/services/pbkdf2.d.ts +56 -0
- package/src/services/pbkdf2.d.ts.map +1 -0
- package/src/services/pbkdf2.js +114 -0
- package/src/services/pbkdf2.js.map +1 -0
- package/src/services/xor.d.ts +37 -0
- package/src/services/xor.d.ts.map +1 -0
- package/src/services/xor.js +67 -0
- package/src/services/xor.js.map +1 -0
- package/src/types/deep-partial.d.ts +4 -0
- package/src/types/deep-partial.d.ts.map +1 -0
- package/src/types/deep-partial.js +3 -0
- package/src/types/deep-partial.js.map +1 -0
- package/src/{types.ts → types.d.ts} +4 -10
- package/src/types.d.ts.map +1 -0
- package/src/types.js +3 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +68 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +288 -0
- package/src/utils.js.map +1 -0
- package/LICENSE +0 -21
- package/src/constants.ts +0 -474
- package/src/email-string.ts +0 -83
- package/src/enumerations/ecies-encryption-type.ts +0 -102
- package/src/enumerations/ecies-error-type.ts +0 -31
- package/src/enumerations/ecies-string-key.ts +0 -108
- package/src/enumerations/guid-brand-type.ts +0 -26
- package/src/enumerations/guid-error-type.ts +0 -6
- package/src/enumerations/invalid-email-type.ts +0 -5
- package/src/enumerations/length-encoding-type.ts +0 -6
- package/src/enumerations/length-error-type.ts +0 -5
- package/src/enumerations/member-error-type.ts +0 -106
- package/src/enumerations/password-login-error-type.ts +0 -4
- package/src/enumerations/pbkdf2-error-type.ts +0 -5
- package/src/enumerations/pbkdf2-profile.ts +0 -5
- package/src/enumerations/secure-storage-error-type.ts +0 -5
- package/src/errors/disposed.ts +0 -15
- package/src/errors/ecies.ts +0 -34
- package/src/errors/guid.ts +0 -34
- package/src/errors/invalid-email.ts +0 -11
- package/src/errors/length.ts +0 -11
- package/src/errors/member.ts +0 -12
- package/src/errors/pbkdf2.ts +0 -12
- package/src/errors/secure-storage.ts +0 -13
- package/src/errors/simple-ecies.ts +0 -18
- package/src/errors/simple-test-error.ts +0 -6
- package/src/guid.ts +0 -800
- package/src/i18n-setup.ts +0 -1312
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/constants.ts +0 -48
- package/src/interfaces/ecies-config.ts +0 -8
- package/src/interfaces/ecies-consts.ts +0 -70
- package/src/interfaces/ecies-file-service.ts +0 -6
- package/src/interfaces/guid.ts +0 -53
- package/src/interfaces/library-error.ts +0 -23
- package/src/interfaces/member-operational.ts +0 -54
- package/src/interfaces/pbkdf2-config.ts +0 -6
- package/src/interfaces/pbkdf2-consts.ts +0 -10
- package/src/interfaces/pbkdf2-result.ts +0 -5
- package/src/member.ts +0 -429
- package/src/phone-number.ts +0 -18
- package/src/regexes.ts +0 -10
- package/src/secure-buffer.ts +0 -183
- package/src/secure-string.ts +0 -229
- package/src/services/aes-gcm.ts +0 -177
- package/src/services/ecies/README.md +0 -147
- package/src/services/ecies/crypto-core.ts +0 -180
- package/src/services/ecies/example.ts +0 -185
- package/src/services/ecies/file.ts +0 -167
- package/src/services/ecies/integration.ts +0 -241
- package/src/services/ecies/interfaces.ts +0 -59
- package/src/services/ecies/manual-test.ts +0 -219
- package/src/services/ecies/multi-recipient.ts +0 -394
- package/src/services/ecies/service.ts +0 -317
- package/src/services/ecies/signature.ts +0 -93
- package/src/services/ecies/single-recipient.ts +0 -340
- package/src/services/password-login.ts +0 -228
- package/src/services/pbkdf2.ts +0 -172
- package/src/services/xor.ts +0 -65
- package/src/types/deep-partial.ts +0 -11
- package/src/utils.ts +0 -331
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-config.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/pbkdf2-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface IPBkdf2Consts {
|
|
2
|
+
/** Hash algorithm (sha512) */
|
|
3
|
+
ALGORITHM: string;
|
|
4
|
+
/** Number of bytes in a salt. */
|
|
5
|
+
SALT_BYTES: number;
|
|
6
|
+
/** Expected number of pbkdf2 iterations per second when hashing a password. */
|
|
7
|
+
ITERATIONS_PER_SECOND: number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=pbkdf2-consts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-consts.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/pbkdf2-consts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-consts.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/pbkdf2-consts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-result.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/pbkdf2-result.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-result.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/pbkdf2-result.ts"],"names":[],"mappings":""}
|
package/src/member.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Wallet } from '@ethereumjs/wallet';
|
|
2
|
+
import { EmailString } from './email-string';
|
|
3
|
+
import MemberType from './enumerations/member-type';
|
|
4
|
+
import { GuidV4 } from './guid';
|
|
5
|
+
import { IMemberOperational } from './interfaces/member-operational';
|
|
6
|
+
import { IMemberWithMnemonic } from './interfaces/member-with-mnemonic';
|
|
7
|
+
import { SecureBuffer } from './secure-buffer';
|
|
8
|
+
import { SecureString } from './secure-string';
|
|
9
|
+
import { ECIESService } from './services/ecies/service';
|
|
10
|
+
import { SignatureUint8Array } from './types';
|
|
11
|
+
import { IECIESConstants } from './interfaces/ecies-consts';
|
|
12
|
+
/**
|
|
13
|
+
* Represents a member with cryptographic capabilities.
|
|
14
|
+
* This class provides methods for signing, verifying, encrypting, and decrypting data.
|
|
15
|
+
* It also manages the member's keys and wallet.
|
|
16
|
+
*/
|
|
17
|
+
export declare class Member implements IMemberOperational {
|
|
18
|
+
private readonly _eciesService;
|
|
19
|
+
private readonly _id;
|
|
20
|
+
private readonly _type;
|
|
21
|
+
private readonly _name;
|
|
22
|
+
private readonly _email;
|
|
23
|
+
private readonly _publicKey;
|
|
24
|
+
private readonly _creatorId;
|
|
25
|
+
private readonly _dateCreated;
|
|
26
|
+
private readonly _dateUpdated;
|
|
27
|
+
private _privateKey?;
|
|
28
|
+
private _wallet?;
|
|
29
|
+
constructor(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, publicKey: Uint8Array, privateKey?: SecureBuffer, wallet?: Wallet, id?: GuidV4, dateCreated?: Date, dateUpdated?: Date, creatorId?: GuidV4);
|
|
30
|
+
get id(): GuidV4;
|
|
31
|
+
get type(): MemberType;
|
|
32
|
+
get name(): string;
|
|
33
|
+
get email(): EmailString;
|
|
34
|
+
get publicKey(): Uint8Array;
|
|
35
|
+
get creatorId(): GuidV4;
|
|
36
|
+
get dateCreated(): Date;
|
|
37
|
+
get dateUpdated(): Date;
|
|
38
|
+
get privateKey(): SecureBuffer | undefined;
|
|
39
|
+
get wallet(): Wallet;
|
|
40
|
+
get hasPrivateKey(): boolean;
|
|
41
|
+
unloadPrivateKey(): void;
|
|
42
|
+
unloadWallet(): void;
|
|
43
|
+
unloadWalletAndPrivateKey(): void;
|
|
44
|
+
loadWallet(mnemonic: SecureString, eciesParams?: IECIESConstants): void;
|
|
45
|
+
/**
|
|
46
|
+
* Loads the private key and optionally the voting private key.
|
|
47
|
+
*
|
|
48
|
+
* @param privateKey The private key to load.
|
|
49
|
+
* @param votingPrivateKey The voting private key to load.
|
|
50
|
+
*/
|
|
51
|
+
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
52
|
+
sign(data: Uint8Array): SignatureUint8Array;
|
|
53
|
+
signData(data: Uint8Array): SignatureUint8Array;
|
|
54
|
+
verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
|
|
55
|
+
verifySignature(data: Uint8Array, signature: Uint8Array, publicKey: Uint8Array): boolean;
|
|
56
|
+
private static readonly MAX_ENCRYPTION_SIZE;
|
|
57
|
+
private static readonly VALID_STRING_REGEX;
|
|
58
|
+
encryptData(data: string | Uint8Array, recipientPublicKey?: Uint8Array): Promise<Uint8Array>;
|
|
59
|
+
decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
|
|
60
|
+
toJson(): string;
|
|
61
|
+
dispose(): void;
|
|
62
|
+
static fromJson(json: string, eciesService: ECIESService): Member;
|
|
63
|
+
static fromMnemonic(mnemonic: SecureString, eciesService: ECIESService, eciesParams?: IECIESConstants): Member;
|
|
64
|
+
static newMember(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, forceMnemonic?: SecureString, createdBy?: GuidV4, eciesParams?: IECIESConstants): IMemberWithMnemonic;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=member.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,UAAU,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAM9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,MAAO,YAAW,kBAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,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,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,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,UAAU,EACrB,UAAU,CAAC,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,IAAI,EAClB,WAAW,CAAC,EAAE,IAAI,EAClB,SAAS,CAAC,EAAE,MAAM;IAuCpB,IAAW,EAAE,IAAI,MAAM,CAEtB;IACD,IAAW,IAAI,IAAI,UAAU,CAE5B;IACD,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,KAAK,IAAI,WAAW,CAE9B;IACD,IAAW,SAAS,IAAI,UAAU,CAEjC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;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,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI;IA4B9E;;;;;OAKG;IACI,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAI9C,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB;IAU3C,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB;IAa/C,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO;IAIjE,eAAe,CACpB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,GACpB,OAAO;IAQV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA0B;IAEvD,WAAW,CACtB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,kBAAkB,CAAC,EAAE,UAAU,GAC9B,OAAO,CAAC,UAAU,CAAC;IA6BT,WAAW,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAejE,MAAM,IAAI,MAAM;IAchB,OAAO,IAAI,IAAI;WASR,QAAQ,CACpB,IAAI,EAAE,MAAM,EAEZ,YAAY,EAAE,YAAY,GACzB,MAAM;WA6BK,YAAY,CACxB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,eAAe,GAC5B,MAAM;WAoBK,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,EAClB,WAAW,CAAC,EAAE,eAAe,GAC5B,mBAAmB;CA4DvB"}
|
package/src/member.js
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Member = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const email_string_1 = require("./email-string");
|
|
7
|
+
const member_error_type_1 = tslib_1.__importDefault(require("./enumerations/member-error-type"));
|
|
8
|
+
const member_type_1 = tslib_1.__importDefault(require("./enumerations/member-type"));
|
|
9
|
+
const member_1 = require("./errors/member");
|
|
10
|
+
const guid_1 = require("./guid");
|
|
11
|
+
const i18n_setup_1 = require("./i18n-setup");
|
|
12
|
+
const secure_buffer_1 = require("./secure-buffer");
|
|
13
|
+
const utils_1 = require("./utils");
|
|
14
|
+
/**
|
|
15
|
+
* Represents a member with cryptographic capabilities.
|
|
16
|
+
* This class provides methods for signing, verifying, encrypting, and decrypting data.
|
|
17
|
+
* It also manages the member's keys and wallet.
|
|
18
|
+
*/
|
|
19
|
+
class Member {
|
|
20
|
+
_eciesService;
|
|
21
|
+
_id;
|
|
22
|
+
_type;
|
|
23
|
+
_name;
|
|
24
|
+
_email;
|
|
25
|
+
_publicKey;
|
|
26
|
+
_creatorId;
|
|
27
|
+
_dateCreated;
|
|
28
|
+
_dateUpdated;
|
|
29
|
+
_privateKey;
|
|
30
|
+
_wallet;
|
|
31
|
+
constructor(
|
|
32
|
+
// Add injected services as parameters
|
|
33
|
+
eciesService,
|
|
34
|
+
// Original parameters
|
|
35
|
+
type, name, email, publicKey, privateKey, wallet, id, dateCreated, dateUpdated, creatorId) {
|
|
36
|
+
// Assign injected services
|
|
37
|
+
this._eciesService = eciesService;
|
|
38
|
+
// Assign original parameters
|
|
39
|
+
this._type = type;
|
|
40
|
+
this._id = id ?? guid_1.GuidV4.new();
|
|
41
|
+
this._name = name;
|
|
42
|
+
if (!this._name || this._name.length == 0) {
|
|
43
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingMemberName, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
44
|
+
}
|
|
45
|
+
if (this._name.trim() != this._name) {
|
|
46
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
47
|
+
}
|
|
48
|
+
this._email = email;
|
|
49
|
+
this._publicKey = publicKey;
|
|
50
|
+
this._privateKey = privateKey;
|
|
51
|
+
this._wallet = wallet;
|
|
52
|
+
// don't create a new date object with nearly identical values to the existing one
|
|
53
|
+
let _now = null;
|
|
54
|
+
const now = function () {
|
|
55
|
+
if (!_now) {
|
|
56
|
+
_now = new Date();
|
|
57
|
+
}
|
|
58
|
+
return _now;
|
|
59
|
+
};
|
|
60
|
+
this._dateCreated = dateCreated ?? now();
|
|
61
|
+
this._dateUpdated = dateUpdated ?? now();
|
|
62
|
+
this._creatorId = creatorId ?? this._id;
|
|
63
|
+
}
|
|
64
|
+
// Required getters
|
|
65
|
+
get id() {
|
|
66
|
+
return this._id;
|
|
67
|
+
}
|
|
68
|
+
get type() {
|
|
69
|
+
return this._type;
|
|
70
|
+
}
|
|
71
|
+
get name() {
|
|
72
|
+
return this._name;
|
|
73
|
+
}
|
|
74
|
+
get email() {
|
|
75
|
+
return this._email;
|
|
76
|
+
}
|
|
77
|
+
get publicKey() {
|
|
78
|
+
return this._publicKey;
|
|
79
|
+
}
|
|
80
|
+
get creatorId() {
|
|
81
|
+
return this._creatorId;
|
|
82
|
+
}
|
|
83
|
+
get dateCreated() {
|
|
84
|
+
return this._dateCreated;
|
|
85
|
+
}
|
|
86
|
+
get dateUpdated() {
|
|
87
|
+
return this._dateUpdated;
|
|
88
|
+
}
|
|
89
|
+
// Optional private data getters
|
|
90
|
+
get privateKey() {
|
|
91
|
+
return this._privateKey;
|
|
92
|
+
}
|
|
93
|
+
get wallet() {
|
|
94
|
+
if (!this._wallet) {
|
|
95
|
+
throw new member_1.MemberError(member_error_type_1.default.NoWallet, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
96
|
+
}
|
|
97
|
+
return this._wallet;
|
|
98
|
+
}
|
|
99
|
+
// State getters
|
|
100
|
+
get hasPrivateKey() {
|
|
101
|
+
return this._privateKey !== undefined;
|
|
102
|
+
}
|
|
103
|
+
unloadPrivateKey() {
|
|
104
|
+
// Do not dispose here; tests expect the same SecureBuffer instance to remain usable
|
|
105
|
+
// when reloaded into another member in the same process.
|
|
106
|
+
this._privateKey = undefined;
|
|
107
|
+
}
|
|
108
|
+
unloadWallet() {
|
|
109
|
+
this._wallet = undefined;
|
|
110
|
+
}
|
|
111
|
+
unloadWalletAndPrivateKey() {
|
|
112
|
+
this.unloadWallet();
|
|
113
|
+
this.unloadPrivateKey();
|
|
114
|
+
}
|
|
115
|
+
loadWallet(mnemonic, eciesParams) {
|
|
116
|
+
if (this._wallet) {
|
|
117
|
+
throw new member_1.MemberError(member_error_type_1.default.WalletAlreadyLoaded, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
118
|
+
}
|
|
119
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
120
|
+
const { wallet } = this._eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
121
|
+
const privateKey = wallet.getPrivateKey();
|
|
122
|
+
const publicKey = wallet.getPublicKey();
|
|
123
|
+
const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
|
|
124
|
+
publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
|
|
125
|
+
publicKeyWithPrefix.set(publicKey, 1);
|
|
126
|
+
if ((0, utils_1.uint8ArrayToHex)(publicKeyWithPrefix) !== (0, utils_1.uint8ArrayToHex)(this._publicKey)) {
|
|
127
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMnemonic, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
128
|
+
}
|
|
129
|
+
this._wallet = wallet;
|
|
130
|
+
this._privateKey?.dispose();
|
|
131
|
+
this._privateKey = new secure_buffer_1.SecureBuffer(privateKey);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Loads the private key and optionally the voting private key.
|
|
135
|
+
*
|
|
136
|
+
* @param privateKey The private key to load.
|
|
137
|
+
* @param votingPrivateKey The voting private key to load.
|
|
138
|
+
*/
|
|
139
|
+
loadPrivateKey(privateKey) {
|
|
140
|
+
this._privateKey = privateKey;
|
|
141
|
+
}
|
|
142
|
+
sign(data) {
|
|
143
|
+
if (!this._privateKey) {
|
|
144
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
145
|
+
}
|
|
146
|
+
return this._eciesService.signMessage(this._privateKey.value, data);
|
|
147
|
+
}
|
|
148
|
+
signData(data) {
|
|
149
|
+
if (!this._privateKey) {
|
|
150
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
151
|
+
}
|
|
152
|
+
return this._eciesService.signMessage(new Uint8Array(this._privateKey.value), data);
|
|
153
|
+
}
|
|
154
|
+
verify(signature, data) {
|
|
155
|
+
return this._eciesService.verifyMessage(this._publicKey, data, signature);
|
|
156
|
+
}
|
|
157
|
+
verifySignature(data, signature, publicKey) {
|
|
158
|
+
return this._eciesService.verifyMessage(publicKey, data, signature);
|
|
159
|
+
}
|
|
160
|
+
static MAX_ENCRYPTION_SIZE = 1024 * 1024 * 10; // 10MB limit
|
|
161
|
+
static VALID_STRING_REGEX = /^[\x20-\x7E\n\r\t]*$/; // Printable ASCII + common whitespace
|
|
162
|
+
async encryptData(data, recipientPublicKey) {
|
|
163
|
+
// Validate input
|
|
164
|
+
if (!data) {
|
|
165
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingEncryptionData, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
166
|
+
}
|
|
167
|
+
// Check size limit
|
|
168
|
+
const arr = data instanceof Uint8Array ? data : new TextEncoder().encode(data);
|
|
169
|
+
if (arr.length > Member.MAX_ENCRYPTION_SIZE) {
|
|
170
|
+
throw new member_1.MemberError(member_error_type_1.default.EncryptionDataTooLarge, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
171
|
+
}
|
|
172
|
+
// Use recipient public key or self public key
|
|
173
|
+
const targetPublicKey = recipientPublicKey || this._publicKey;
|
|
174
|
+
return await this._eciesService.encryptSimpleOrSingle(false, targetPublicKey, arr);
|
|
175
|
+
}
|
|
176
|
+
async decryptData(encryptedData) {
|
|
177
|
+
if (!this._privateKey) {
|
|
178
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
179
|
+
}
|
|
180
|
+
// decryptSingleWithHeader now returns the Uint8Array directly
|
|
181
|
+
return await this._eciesService.decryptSimpleOrSingleWithHeader(false, new Uint8Array(this._privateKey.value), encryptedData);
|
|
182
|
+
}
|
|
183
|
+
toJson() {
|
|
184
|
+
const storage = {
|
|
185
|
+
id: this._id.toString(),
|
|
186
|
+
type: this._type,
|
|
187
|
+
name: this._name,
|
|
188
|
+
email: this._email.toString(),
|
|
189
|
+
publicKey: (0, utils_1.uint8ArrayToBase64)(this._publicKey),
|
|
190
|
+
creatorId: this._creatorId.toString(),
|
|
191
|
+
dateCreated: this._dateCreated.toISOString(),
|
|
192
|
+
dateUpdated: this._dateUpdated.toISOString(),
|
|
193
|
+
};
|
|
194
|
+
return JSON.stringify(storage);
|
|
195
|
+
}
|
|
196
|
+
dispose() {
|
|
197
|
+
// Ensure secret material is zeroized when disposing
|
|
198
|
+
try {
|
|
199
|
+
this._privateKey?.dispose();
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
this.unloadWalletAndPrivateKey();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
static fromJson(json,
|
|
206
|
+
// Add injected services as parameters
|
|
207
|
+
eciesService) {
|
|
208
|
+
let storage;
|
|
209
|
+
try {
|
|
210
|
+
storage = JSON.parse(json);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberData, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
214
|
+
}
|
|
215
|
+
const email = new email_string_1.EmailString(storage.email);
|
|
216
|
+
// Pass injected services to constructor
|
|
217
|
+
const dateCreated = new Date(storage.dateCreated);
|
|
218
|
+
return new Member(eciesService, storage.type, storage.name, email, (0, utils_1.base64ToUint8Array)(storage.publicKey), undefined, undefined, new guid_1.GuidV4(storage.id), dateCreated, new Date(storage.dateUpdated), new guid_1.GuidV4(storage.creatorId));
|
|
219
|
+
}
|
|
220
|
+
static fromMnemonic(mnemonic, eciesService, eciesParams) {
|
|
221
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
222
|
+
const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
223
|
+
const privateKey = wallet.getPrivateKey();
|
|
224
|
+
const publicKey = wallet.getPublicKey();
|
|
225
|
+
const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
|
|
226
|
+
publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
|
|
227
|
+
publicKeyWithPrefix.set(publicKey, 1);
|
|
228
|
+
return new Member(eciesService, member_type_1.default.User, 'Test User', new email_string_1.EmailString('test@example.com'), publicKeyWithPrefix, new secure_buffer_1.SecureBuffer(privateKey), wallet);
|
|
229
|
+
}
|
|
230
|
+
static newMember(
|
|
231
|
+
// Add injected services as parameters
|
|
232
|
+
eciesService,
|
|
233
|
+
// Original parameters
|
|
234
|
+
type, name, email, forceMnemonic, createdBy, eciesParams) {
|
|
235
|
+
// Validate inputs first
|
|
236
|
+
if (!name || name.length == 0) {
|
|
237
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingMemberName, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
238
|
+
}
|
|
239
|
+
if (name.trim() != name) {
|
|
240
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
241
|
+
}
|
|
242
|
+
if (!email || email.toString().length == 0) {
|
|
243
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingEmail, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
244
|
+
}
|
|
245
|
+
if (email.toString().trim() != email.toString()) {
|
|
246
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidEmailWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
|
|
247
|
+
}
|
|
248
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
249
|
+
// Use injected services
|
|
250
|
+
const mnemonic = forceMnemonic ?? eciesService.generateNewMnemonic();
|
|
251
|
+
const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
252
|
+
// Get private key from wallet
|
|
253
|
+
const privateKey = wallet.getPrivateKey();
|
|
254
|
+
// Get public key with 0x04 prefix
|
|
255
|
+
const publicKey = wallet.getPublicKey();
|
|
256
|
+
const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
|
|
257
|
+
publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
|
|
258
|
+
publicKeyWithPrefix.set(publicKey, 1);
|
|
259
|
+
const newId = guid_1.GuidV4.new();
|
|
260
|
+
const dateCreated = new Date();
|
|
261
|
+
return {
|
|
262
|
+
// Pass injected services to constructor
|
|
263
|
+
member: new Member(eciesService, type, name, email, publicKeyWithPrefix, new secure_buffer_1.SecureBuffer(privateKey), wallet, newId, dateCreated, dateCreated, createdBy ?? newId),
|
|
264
|
+
mnemonic,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.Member = Member;
|
|
269
|
+
//# sourceMappingURL=member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Pbkdf2ProfileEnum } from './enumerations/pbkdf2-profile';
|
|
2
2
|
import { IPbkdf2Config } from './interfaces/pbkdf2-config';
|
|
3
|
-
|
|
4
3
|
export type Pbkdf2Profiles = {
|
|
5
|
-
|
|
4
|
+
[key in Pbkdf2ProfileEnum]: IPbkdf2Config;
|
|
6
5
|
};
|
|
6
|
+
//# sourceMappingURL=pbkdf2-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-profiles.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/pbkdf2-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;KAC1B,GAAG,IAAI,iBAAiB,GAAG,aAAa;CAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbkdf2-profiles.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/pbkdf2-profiles.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-number.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/phone-number.ts"],"names":[],"mappings":"AAIA,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBACrB,MAAM,EAAE,MAAM;IAQ1B,IAAW,MAAM,IAAI,MAAM,CAE1B;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhoneNumber = void 0;
|
|
4
|
+
const enumerations_1 = require("./enumerations");
|
|
5
|
+
const i18n_setup_1 = require("./i18n-setup");
|
|
6
|
+
const regexes_1 = require("./regexes");
|
|
7
|
+
class PhoneNumber {
|
|
8
|
+
_number;
|
|
9
|
+
constructor(number) {
|
|
10
|
+
// make sure the phone number fits the regex
|
|
11
|
+
if (!regexes_1.PhoneNumberRegex.test(number)) {
|
|
12
|
+
const engine = (0, i18n_setup_1.getEciesI18nEngine)();
|
|
13
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, enumerations_1.EciesStringKey.Error_PhoneNumber_InvalidTemplate, { phoneNumber: number }));
|
|
14
|
+
}
|
|
15
|
+
this._number = number;
|
|
16
|
+
}
|
|
17
|
+
get number() {
|
|
18
|
+
return this._number;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.PhoneNumber = PhoneNumber;
|
|
22
|
+
//# sourceMappingURL=phone-number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-number.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/phone-number.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,6CAAoE;AACpE,uCAA6C;AAE7C,MAAa,WAAW;IACL,OAAO,CAAS;IACjC,YAAY,MAAc;QACxB,4CAA4C;QAC5C,IAAI,CAAC,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,+BAAkB,GAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,6BAAgB,EAAE,6BAAc,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAbD,kCAaC"}
|
package/src/regexes.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexes.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/regexes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QACyF,CAAC;AAErH,eAAO,MAAM,cAAc,QACwE,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAA8B,CAAC"}
|
package/src/regexes.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhoneNumberRegex = exports.MNEMONIC_REGEX = exports.PASSWORD_REGEX = void 0;
|
|
4
|
+
exports.PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/;
|
|
5
|
+
exports.MNEMONIC_REGEX = /^(?:\w+\s){11}\w+$|^(?:\w+\s){14}\w+$|^(?:\w+\s){17}\w+$|^(?:\w+\s){20}\w+$|^(?:\w+\s){23}\w+$/i;
|
|
6
|
+
/**
|
|
7
|
+
* Phone number regex to validate phone numbers
|
|
8
|
+
*/
|
|
9
|
+
exports.PhoneNumberRegex = /^(\+\d{1,3}[- ]?)?\d{10}$/; // Matches international phone numbers with optional country code
|
|
10
|
+
//# sourceMappingURL=regexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/regexes.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GACzB,kHAAkH,CAAC;AAExG,QAAA,cAAc,GACzB,iGAAiG,CAAC;AAEpG;;GAEG;AACU,QAAA,gBAAgB,GAAG,2BAA2B,CAAC,CAAC,iEAAiE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FullHexGuid, RawGuidUint8Array } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* A secure string buffer is a buffer whose intent is to prevent the raw password from being stored in memory.
|
|
4
|
+
* The buffer is encrypted with a key derived from a GUID.
|
|
5
|
+
* The GUID is stored in the clear, but the buffer is encrypted with a key derived from the GUID.
|
|
6
|
+
* This allows the buffer to be decrypted, but only if the GUID and salt are known.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SecureBuffer {
|
|
9
|
+
private _disposed;
|
|
10
|
+
private readonly _id;
|
|
11
|
+
private readonly _length;
|
|
12
|
+
private readonly _obfuscatedValue;
|
|
13
|
+
private readonly _key;
|
|
14
|
+
private readonly _obfuscatedChecksum;
|
|
15
|
+
private _disposedAt?;
|
|
16
|
+
constructor(data?: Uint8Array);
|
|
17
|
+
dispose(): void;
|
|
18
|
+
private assertNotDisposed;
|
|
19
|
+
static fromString(data: string): SecureBuffer;
|
|
20
|
+
get disposedAtStack(): string | undefined;
|
|
21
|
+
get id(): FullHexGuid;
|
|
22
|
+
get idUint8Array(): RawGuidUint8Array;
|
|
23
|
+
get originalLength(): number;
|
|
24
|
+
get value(): Uint8Array;
|
|
25
|
+
get valueAsString(): string;
|
|
26
|
+
get valueAsHexString(): string;
|
|
27
|
+
get valueAsBase64String(): string;
|
|
28
|
+
get checksum(): string;
|
|
29
|
+
private generateSimpleChecksum;
|
|
30
|
+
private createSimpleObfuscatedChecksum;
|
|
31
|
+
private validateSimpleChecksum;
|
|
32
|
+
private timingSafeEqual;
|
|
33
|
+
private validateObfuscatedChecksum;
|
|
34
|
+
private obfuscateData;
|
|
35
|
+
private deobfuscateData;
|
|
36
|
+
get length(): number;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=secure-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure-buffer.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGzD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IACjD,OAAO,CAAC,WAAW,CAAC,CAAS;gBACjB,IAAI,CAAC,EAAE,UAAU;IAgBtB,OAAO,IAAI,IAAI;IAWtB,OAAO,CAAC,iBAAiB;WAWX,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAGpD,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,EAAE,IAAI,WAAW,CAG3B;IACD,IAAW,YAAY,IAAI,iBAAiB,CAG3C;IACD,IAAW,cAAc,IAAI,MAAM,CAGlC;IACD,IAAW,KAAK,IAAI,UAAU,CA+B7B;IACD,IAAW,aAAa,IAAI,MAAM,CAGjC;IACD,IAAW,gBAAgB,IAAI,MAAM,CAGpC;IACD,IAAW,mBAAmB,IAAI,MAAM,CAGvC;IACD,IAAW,QAAQ,IAAI,MAAM,CAM5B;IACD,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,eAAe;IAGvB,IAAW,MAAM,IAAI,MAAM,CAG1B;CACF"}
|