@digitaldefiance/ecies-lib 4.4.14 → 4.4.15
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/package.json +2 -3
- package/src/builders/ecies-builder.js +9 -5
- package/src/builders/ecies-builder.js.map +1 -1
- package/src/builders/index.js +5 -2
- package/src/builders/index.js.map +1 -1
- package/src/builders/member-builder.js +25 -21
- package/src/builders/member-builder.js.map +1 -1
- package/src/constants.js +79 -68
- package/src/constants.js.map +1 -1
- package/src/core/errors/crypto-error.js +14 -10
- package/src/core/errors/crypto-error.js.map +1 -1
- package/src/core/index.js +5 -2
- package/src/core/index.js.map +1 -1
- package/src/core/types/result.js +5 -1
- package/src/core/types/result.js.map +1 -1
- package/src/email-string.js +13 -8
- package/src/email-string.js.map +1 -1
- package/src/enumerations/disposed-error-type.js +5 -2
- package/src/enumerations/disposed-error-type.js.map +1 -1
- package/src/enumerations/ecies-cipher-suite.js +5 -2
- package/src/enumerations/ecies-cipher-suite.js.map +1 -1
- package/src/enumerations/ecies-encryption-type.js +9 -6
- package/src/enumerations/ecies-encryption-type.js.map +1 -1
- package/src/enumerations/ecies-error-type.js +5 -2
- package/src/enumerations/ecies-error-type.js.map +1 -1
- package/src/enumerations/ecies-string-key.js +5 -2
- package/src/enumerations/ecies-string-key.js.map +1 -1
- package/src/enumerations/ecies-version.js +5 -2
- package/src/enumerations/ecies-version.js.map +1 -1
- package/src/enumerations/guid-brand-type.js +5 -2
- package/src/enumerations/guid-brand-type.js.map +1 -1
- package/src/enumerations/guid-error-type.js +5 -2
- package/src/enumerations/guid-error-type.js.map +1 -1
- package/src/enumerations/id-provider-error-type.js +5 -2
- package/src/enumerations/id-provider-error-type.js.map +1 -1
- package/src/enumerations/index.js +20 -17
- package/src/enumerations/index.js.map +1 -1
- package/src/enumerations/invalid-email-type.js +5 -2
- package/src/enumerations/invalid-email-type.js.map +1 -1
- package/src/enumerations/length-encoding-type.js +5 -2
- package/src/enumerations/length-encoding-type.js.map +1 -1
- package/src/enumerations/length-error-type.js +5 -2
- package/src/enumerations/length-error-type.js.map +1 -1
- package/src/enumerations/member-error-type.js +6 -3
- package/src/enumerations/member-error-type.js.map +1 -1
- package/src/enumerations/member-type.js +6 -3
- package/src/enumerations/member-type.js.map +1 -1
- package/src/enumerations/password-login-error-type.js +5 -2
- package/src/enumerations/password-login-error-type.js.map +1 -1
- package/src/enumerations/pbkdf2-error-type.js +5 -2
- package/src/enumerations/pbkdf2-error-type.js.map +1 -1
- package/src/enumerations/pbkdf2-profile.js +5 -2
- package/src/enumerations/pbkdf2-profile.js.map +1 -1
- package/src/enumerations/secure-storage-error-type.js +5 -2
- package/src/enumerations/secure-storage-error-type.js.map +1 -1
- package/src/errors/disposed.js +9 -5
- package/src/errors/disposed.js.map +1 -1
- package/src/errors/ecies.js +9 -5
- package/src/errors/ecies.js.map +1 -1
- package/src/errors/guid.js +13 -9
- package/src/errors/guid.js.map +1 -1
- package/src/errors/id-provider.js +10 -6
- package/src/errors/id-provider.js.map +1 -1
- package/src/errors/index.js +12 -9
- package/src/errors/index.js.map +1 -1
- package/src/errors/invalid-email.js +9 -5
- package/src/errors/invalid-email.js.map +1 -1
- package/src/errors/length.js +9 -5
- package/src/errors/length.js.map +1 -1
- package/src/errors/member.js +9 -5
- package/src/errors/member.js.map +1 -1
- package/src/errors/pbkdf2.js +9 -5
- package/src/errors/pbkdf2.js.map +1 -1
- package/src/errors/secure-storage.js +10 -6
- package/src/errors/secure-storage.js.map +1 -1
- package/src/errors/simple-ecies.js +10 -6
- package/src/errors/simple-ecies.js.map +1 -1
- package/src/errors/simple-test-error.js +5 -1
- package/src/errors/simple-test-error.js.map +1 -1
- package/src/i18n-setup.js +37 -29
- package/src/i18n-setup.js.map +1 -1
- package/src/index.d.ts +3 -3
- package/src/index.d.ts.map +1 -1
- package/src/index.js +123 -60
- package/src/index.js.map +1 -1
- package/src/interfaces/checksum-config.js +2 -1
- package/src/interfaces/checksum-consts.js +2 -1
- package/src/interfaces/configuration-provenance.js +6 -1
- package/src/interfaces/configuration-provenance.js.map +1 -1
- package/src/interfaces/constants.js +2 -1
- package/src/interfaces/ecies-config.js +2 -1
- package/src/interfaces/ecies-consts.js +2 -1
- package/src/interfaces/ecies-file-service.js +2 -1
- package/src/interfaces/encrypted-chunk.js +4 -1
- package/src/interfaces/encrypted-chunk.js.map +1 -1
- package/src/interfaces/encryption-state.js +4 -1
- package/src/interfaces/encryption-state.js.map +1 -1
- package/src/interfaces/frontend-member-operational.js +2 -1
- package/src/interfaces/guid.js +2 -1
- package/src/interfaces/id-provider.js +5 -1
- package/src/interfaces/id-provider.js.map +1 -1
- package/src/interfaces/index.js +15 -12
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/invariant.js +5 -1
- package/src/interfaces/invariant.js.map +1 -1
- package/src/interfaces/library-error.js +2 -1
- package/src/interfaces/member-storage.js +2 -1
- package/src/interfaces/member-with-mnemonic.js +2 -1
- package/src/interfaces/member.js +2 -1
- package/src/interfaces/multi-recipient-chunk.js +6 -1
- package/src/interfaces/multi-recipient-chunk.js.map +1 -1
- package/src/interfaces/pbkdf2-config.js +2 -1
- package/src/interfaces/pbkdf2-consts.js +2 -1
- package/src/interfaces/pbkdf2-result.js +2 -1
- package/src/interfaces/stream-config.js +4 -1
- package/src/interfaces/stream-config.js.map +1 -1
- package/src/interfaces/stream-header.js +4 -1
- package/src/interfaces/stream-header.js.map +1 -1
- package/src/interfaces/stream-progress.js +2 -1
- package/src/lib/configuration-provenance-utils.js +9 -5
- package/src/lib/configuration-provenance-utils.js.map +1 -1
- package/src/lib/crypto-container.js +13 -9
- package/src/lib/crypto-container.js.map +1 -1
- package/src/lib/guid.js +81 -76
- package/src/lib/guid.js.map +1 -1
- package/src/lib/id-providers/custom-provider.js +14 -10
- package/src/lib/id-providers/custom-provider.js.map +1 -1
- package/src/lib/id-providers/guidv4-provider.js +20 -16
- package/src/lib/id-providers/guidv4-provider.js.map +1 -1
- package/src/lib/id-providers/index.js +13 -5
- package/src/lib/id-providers/index.js.map +1 -1
- package/src/lib/id-providers/objectid-provider.js +15 -11
- package/src/lib/id-providers/objectid-provider.js.map +1 -1
- package/src/lib/id-providers/uuid-provider.js +16 -12
- package/src/lib/id-providers/uuid-provider.js.map +1 -1
- package/src/lib/index.js +5 -2
- package/src/lib/index.js.map +1 -1
- package/src/lib/invariant-validator.js +18 -14
- package/src/lib/invariant-validator.js.map +1 -1
- package/src/lib/invariants/encryption-algorithm-consistency.js +6 -2
- package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -1
- package/src/lib/invariants/index.js +6 -3
- package/src/lib/invariants/index.js.map +1 -1
- package/src/lib/invariants/pbkdf2-profiles-validity.js +13 -9
- package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -1
- package/src/lib/invariants/recipient-id-consistency.js +6 -2
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -1
- package/src/lib/multi-recipient-chunk-utils.js +6 -2
- package/src/lib/multi-recipient-chunk-utils.js.map +1 -1
- package/src/member.js +48 -43
- package/src/member.js.map +1 -1
- package/src/pbkdf2-profiles.js +2 -1
- package/src/phone-number.js +11 -7
- package/src/phone-number.js.map +1 -1
- package/src/regexes.js +6 -3
- package/src/regexes.js.map +1 -1
- package/src/secure-buffer.js +21 -17
- package/src/secure-buffer.js.map +1 -1
- package/src/secure-string.js +23 -19
- package/src/secure-string.js.map +1 -1
- package/src/services/aes-gcm.js +25 -21
- package/src/services/aes-gcm.js.map +1 -1
- package/src/services/chunk-processor.js +36 -32
- package/src/services/chunk-processor.js.map +1 -1
- package/src/services/ecies/crypto-core.js +44 -40
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/ecies/example.js +44 -37
- package/src/services/ecies/example.js.map +1 -1
- package/src/services/ecies/file.js +5 -1
- package/src/services/ecies/file.js.map +1 -1
- package/src/services/ecies/index.js +15 -10
- package/src/services/ecies/index.js.map +1 -1
- package/src/services/ecies/integration.js +28 -23
- package/src/services/ecies/integration.js.map +1 -1
- package/src/services/ecies/interfaces.js +2 -1
- package/src/services/ecies/interfaces.js.map +1 -1
- package/src/services/ecies/manual-test.js +34 -26
- package/src/services/ecies/manual-test.js.map +1 -1
- package/src/services/ecies/multi-recipient.js +68 -64
- package/src/services/ecies/multi-recipient.js.map +1 -1
- package/src/services/ecies/service.js +31 -27
- package/src/services/ecies/service.js.map +1 -1
- package/src/services/ecies/signature.js +13 -9
- package/src/services/ecies/signature.js.map +1 -1
- package/src/services/ecies/single-recipient.js +53 -49
- package/src/services/ecies/single-recipient.js.map +1 -1
- package/src/services/encryption-stream.js +46 -42
- package/src/services/encryption-stream.js.map +1 -1
- package/src/services/index.js +13 -10
- package/src/services/index.js.map +1 -1
- package/src/services/multi-recipient-processor.js +44 -40
- package/src/services/multi-recipient-processor.js.map +1 -1
- package/src/services/password-login.js +37 -33
- package/src/services/password-login.js.map +1 -1
- package/src/services/pbkdf2.js +12 -8
- package/src/services/pbkdf2.js.map +1 -1
- package/src/services/progress-tracker.js +9 -5
- package/src/services/progress-tracker.js.map +1 -1
- package/src/services/resumable-encryption.js +28 -24
- package/src/services/resumable-encryption.js.map +1 -1
- package/src/services/xor.js +5 -1
- package/src/services/xor.js.map +1 -1
- package/src/test-mocks/index.js +4 -1
- package/src/test-mocks/index.js.map +1 -1
- package/src/test-mocks/mock-frontend-member.js +24 -20
- package/src/test-mocks/mock-frontend-member.js.map +1 -1
- package/src/testing.js +4 -1
- package/src/testing.js.map +1 -1
- package/src/translations/de.js +195 -192
- package/src/translations/de.js.map +1 -1
- package/src/translations/en-US.js +195 -192
- package/src/translations/en-US.js.map +1 -1
- package/src/translations/es.js +195 -192
- package/src/translations/es.js.map +1 -1
- package/src/translations/fr.js +195 -192
- package/src/translations/fr.js.map +1 -1
- package/src/translations/ja.js +195 -192
- package/src/translations/ja.js.map +1 -1
- package/src/translations/uk.js +195 -192
- package/src/translations/uk.js.map +1 -1
- package/src/translations/zh-cn.js +195 -192
- package/src/translations/zh-cn.js.map +1 -1
- package/src/types/deep-partial.js +2 -1
- package/src/types.js +2 -1
- package/src/utils/encryption-type-utils.js +21 -15
- package/src/utils/encryption-type-utils.js.map +1 -1
- package/src/utils.js +77 -59
- package/src/utils.js.map +1 -1
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MULTI_RECIPIENT_CONSTANTS = void 0;
|
|
4
|
+
exports.getMultiRecipientConstants = getMultiRecipientConstants;
|
|
1
5
|
/**
|
|
2
6
|
* Get multi-recipient constants for a specific recipient ID size.
|
|
3
7
|
* This allows the format to adapt to different ID providers.
|
|
@@ -14,7 +18,7 @@
|
|
|
14
18
|
* const constants = getMultiRecipientConstants(16);
|
|
15
19
|
* ```
|
|
16
20
|
*/
|
|
17
|
-
|
|
21
|
+
function getMultiRecipientConstants(recipientIdSize) {
|
|
18
22
|
if (!Number.isInteger(recipientIdSize) ||
|
|
19
23
|
recipientIdSize < 1 ||
|
|
20
24
|
recipientIdSize > 255) {
|
|
@@ -37,5 +41,5 @@ export function getMultiRecipientConstants(recipientIdSize) {
|
|
|
37
41
|
* @deprecated Use getMultiRecipientConstants(config.idProvider.byteLength) instead
|
|
38
42
|
* for dynamic ID size support. This constant is provided for backward compatibility only.
|
|
39
43
|
*/
|
|
40
|
-
|
|
44
|
+
exports.MULTI_RECIPIENT_CONSTANTS = getMultiRecipientConstants(12);
|
|
41
45
|
//# sourceMappingURL=multi-recipient-chunk-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient-chunk-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/multi-recipient-chunk-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-recipient-chunk-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/multi-recipient-chunk-utils.ts"],"names":[],"mappings":";;;AA8BA,gEAuBC;AAvCD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,0BAA0B,CACxC,eAAuB;IAEvB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;QAClC,eAAe,GAAG,CAAC;QACnB,eAAe,GAAG,GAAG,EACrB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4BAA4B,eAAe,yCAAyC,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,UAAU,EAAE,SAAS;QAC5B,OAAO,EAAE,MAAM,EAAE,qDAAqD;QACtE,WAAW,EAAE,EAAE,EAAE,uEAAuE;QACxF,iBAAiB,EAAE,eAAe;QAClC,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACU,QAAA,yBAAyB,GACpC,0BAA0B,CAAC,EAAE,CAAC,CAAC"}
|
package/src/member.js
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 secure_buffer_1 = require("./secure-buffer");
|
|
11
|
+
const encryption_stream_1 = require("./services/encryption-stream");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
9
13
|
/**
|
|
10
14
|
* Represents a member with cryptographic capabilities.
|
|
11
15
|
* This class provides methods for signing, verifying, encrypting, and decrypting data.
|
|
12
16
|
* It also manages the member's keys and wallet.
|
|
13
17
|
*/
|
|
14
|
-
|
|
18
|
+
class Member {
|
|
15
19
|
_eciesService;
|
|
16
20
|
_id;
|
|
17
21
|
_type;
|
|
@@ -32,13 +36,13 @@ export class Member {
|
|
|
32
36
|
this._eciesService = eciesService;
|
|
33
37
|
// Assign original parameters
|
|
34
38
|
this._type = type;
|
|
35
|
-
this._id = id ?? Constants.idProvider.generate();
|
|
39
|
+
this._id = id ?? constants_1.Constants.idProvider.generate();
|
|
36
40
|
this._name = name;
|
|
37
41
|
if (!this._name || this._name.length == 0) {
|
|
38
|
-
throw new MemberError(
|
|
42
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingMemberName);
|
|
39
43
|
}
|
|
40
44
|
if (this._name.trim() != this._name) {
|
|
41
|
-
throw new MemberError(
|
|
45
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace);
|
|
42
46
|
}
|
|
43
47
|
this._email = email;
|
|
44
48
|
this._publicKey = publicKey;
|
|
@@ -87,7 +91,7 @@ export class Member {
|
|
|
87
91
|
}
|
|
88
92
|
get wallet() {
|
|
89
93
|
if (!this._wallet) {
|
|
90
|
-
throw new MemberError(
|
|
94
|
+
throw new member_1.MemberError(member_error_type_1.default.NoWallet);
|
|
91
95
|
}
|
|
92
96
|
return this._wallet;
|
|
93
97
|
}
|
|
@@ -109,19 +113,19 @@ export class Member {
|
|
|
109
113
|
}
|
|
110
114
|
loadWallet(mnemonic, eciesParams) {
|
|
111
115
|
if (this._wallet) {
|
|
112
|
-
throw new MemberError(
|
|
116
|
+
throw new member_1.MemberError(member_error_type_1.default.WalletAlreadyLoaded);
|
|
113
117
|
}
|
|
114
|
-
const eciesConsts = eciesParams ?? ECIES;
|
|
118
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
115
119
|
const { wallet } = this._eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
116
120
|
const privateKey = wallet.getPrivateKey();
|
|
117
121
|
// Use service to get compressed public key
|
|
118
122
|
const publicKey = this._eciesService.getPublicKey(privateKey);
|
|
119
|
-
if (uint8ArrayToHex(publicKey) !== uint8ArrayToHex(this._publicKey)) {
|
|
120
|
-
throw new MemberError(
|
|
123
|
+
if ((0, utils_1.uint8ArrayToHex)(publicKey) !== (0, utils_1.uint8ArrayToHex)(this._publicKey)) {
|
|
124
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMnemonic);
|
|
121
125
|
}
|
|
122
126
|
this._wallet = wallet;
|
|
123
127
|
this._privateKey?.dispose();
|
|
124
|
-
this._privateKey = new SecureBuffer(privateKey);
|
|
128
|
+
this._privateKey = new secure_buffer_1.SecureBuffer(privateKey);
|
|
125
129
|
}
|
|
126
130
|
/**
|
|
127
131
|
* Loads the private key and optionally the voting private key.
|
|
@@ -134,13 +138,13 @@ export class Member {
|
|
|
134
138
|
}
|
|
135
139
|
sign(data) {
|
|
136
140
|
if (!this._privateKey) {
|
|
137
|
-
throw new MemberError(
|
|
141
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey);
|
|
138
142
|
}
|
|
139
143
|
return this._eciesService.signMessage(this._privateKey.value, data);
|
|
140
144
|
}
|
|
141
145
|
signData(data) {
|
|
142
146
|
if (!this._privateKey) {
|
|
143
|
-
throw new MemberError(
|
|
147
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey);
|
|
144
148
|
}
|
|
145
149
|
return this._eciesService.signMessage(new Uint8Array(this._privateKey.value), data);
|
|
146
150
|
}
|
|
@@ -157,10 +161,10 @@ export class Member {
|
|
|
157
161
|
*/
|
|
158
162
|
async *encryptDataStream(source, options) {
|
|
159
163
|
if (!this._privateKey && !options?.recipientPublicKey) {
|
|
160
|
-
throw new MemberError(
|
|
164
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey);
|
|
161
165
|
}
|
|
162
166
|
const targetPublicKey = options?.recipientPublicKey || this._publicKey;
|
|
163
|
-
const stream = new EncryptionStream(this._eciesService);
|
|
167
|
+
const stream = new encryption_stream_1.EncryptionStream(this._eciesService);
|
|
164
168
|
// Convert ReadableStream to AsyncIterable if needed
|
|
165
169
|
const asyncSource = 'getReader' in source
|
|
166
170
|
? this.readableStreamToAsyncIterable(source)
|
|
@@ -183,9 +187,9 @@ export class Member {
|
|
|
183
187
|
*/
|
|
184
188
|
async *decryptDataStream(source, options) {
|
|
185
189
|
if (!this._privateKey) {
|
|
186
|
-
throw new MemberError(
|
|
190
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey);
|
|
187
191
|
}
|
|
188
|
-
const stream = new EncryptionStream(this._eciesService);
|
|
192
|
+
const stream = new encryption_stream_1.EncryptionStream(this._eciesService);
|
|
189
193
|
// Convert ReadableStream to AsyncIterable if needed
|
|
190
194
|
const asyncSource = 'getReader' in source
|
|
191
195
|
? this.readableStreamToAsyncIterable(source)
|
|
@@ -221,12 +225,12 @@ export class Member {
|
|
|
221
225
|
async encryptData(data, recipientPublicKey) {
|
|
222
226
|
// Validate input
|
|
223
227
|
if (!data) {
|
|
224
|
-
throw new MemberError(
|
|
228
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingEncryptionData);
|
|
225
229
|
}
|
|
226
230
|
// Check size limit
|
|
227
231
|
const arr = data instanceof Uint8Array ? data : new TextEncoder().encode(data);
|
|
228
232
|
if (arr.length > Member.MAX_ENCRYPTION_SIZE) {
|
|
229
|
-
throw new MemberError(
|
|
233
|
+
throw new member_1.MemberError(member_error_type_1.default.EncryptionDataTooLarge);
|
|
230
234
|
}
|
|
231
235
|
// Use recipient public key or self public key
|
|
232
236
|
const targetPublicKey = recipientPublicKey || this._publicKey;
|
|
@@ -234,19 +238,19 @@ export class Member {
|
|
|
234
238
|
}
|
|
235
239
|
async decryptData(encryptedData) {
|
|
236
240
|
if (!this._privateKey) {
|
|
237
|
-
throw new MemberError(
|
|
241
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey);
|
|
238
242
|
}
|
|
239
243
|
// decryptSingleWithHeader now returns the Uint8Array directly
|
|
240
244
|
return await this._eciesService.decryptSimpleOrSingleWithHeader(false, new Uint8Array(this._privateKey.value), encryptedData);
|
|
241
245
|
}
|
|
242
246
|
toJson() {
|
|
243
247
|
const storage = {
|
|
244
|
-
id: Constants.idProvider.serialize(this._id),
|
|
248
|
+
id: constants_1.Constants.idProvider.serialize(this._id),
|
|
245
249
|
type: this._type,
|
|
246
250
|
name: this._name,
|
|
247
251
|
email: this._email.toString(),
|
|
248
|
-
publicKey: uint8ArrayToBase64(this._publicKey),
|
|
249
|
-
creatorId: Constants.idProvider.serialize(this._creatorId),
|
|
252
|
+
publicKey: (0, utils_1.uint8ArrayToBase64)(this._publicKey),
|
|
253
|
+
creatorId: constants_1.Constants.idProvider.serialize(this._creatorId),
|
|
250
254
|
dateCreated: this._dateCreated.toISOString(),
|
|
251
255
|
dateUpdated: this._dateUpdated.toISOString(),
|
|
252
256
|
};
|
|
@@ -269,20 +273,20 @@ export class Member {
|
|
|
269
273
|
storage = JSON.parse(json);
|
|
270
274
|
}
|
|
271
275
|
catch (error) {
|
|
272
|
-
throw new MemberError(
|
|
276
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberData);
|
|
273
277
|
}
|
|
274
|
-
const email = new EmailString(storage.email);
|
|
278
|
+
const email = new email_string_1.EmailString(storage.email);
|
|
275
279
|
// Pass injected services to constructor
|
|
276
280
|
const dateCreated = new Date(storage.dateCreated);
|
|
277
|
-
return new Member(eciesService, storage.type, storage.name, email, base64ToUint8Array(storage.publicKey), undefined, undefined, Constants.idProvider.deserialize(storage.id), dateCreated, new Date(storage.dateUpdated), Constants.idProvider.deserialize(storage.creatorId));
|
|
281
|
+
return new Member(eciesService, storage.type, storage.name, email, (0, utils_1.base64ToUint8Array)(storage.publicKey), undefined, undefined, constants_1.Constants.idProvider.deserialize(storage.id), dateCreated, new Date(storage.dateUpdated), constants_1.Constants.idProvider.deserialize(storage.creatorId));
|
|
278
282
|
}
|
|
279
|
-
static fromMnemonic(mnemonic, eciesService, eciesParams, name = 'Test User', email = new EmailString('test@example.com')) {
|
|
280
|
-
const eciesConsts = eciesParams ?? ECIES;
|
|
283
|
+
static fromMnemonic(mnemonic, eciesService, eciesParams, name = 'Test User', email = new email_string_1.EmailString('test@example.com')) {
|
|
284
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
281
285
|
const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
282
286
|
const privateKey = wallet.getPrivateKey();
|
|
283
287
|
// Use service to get compressed public key
|
|
284
288
|
const publicKey = eciesService.getPublicKey(privateKey);
|
|
285
|
-
return new Member(eciesService,
|
|
289
|
+
return new Member(eciesService, member_type_1.default.User, name, email, publicKey, new secure_buffer_1.SecureBuffer(privateKey), wallet);
|
|
286
290
|
}
|
|
287
291
|
static newMember(
|
|
288
292
|
// Add injected services as parameters
|
|
@@ -291,18 +295,18 @@ export class Member {
|
|
|
291
295
|
type, name, email, forceMnemonic, createdBy, eciesParams) {
|
|
292
296
|
// Validate inputs first
|
|
293
297
|
if (!name || name.length == 0) {
|
|
294
|
-
throw new MemberError(
|
|
298
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingMemberName);
|
|
295
299
|
}
|
|
296
300
|
if (name.trim() != name) {
|
|
297
|
-
throw new MemberError(
|
|
301
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace);
|
|
298
302
|
}
|
|
299
303
|
if (!email || email.toString().length == 0) {
|
|
300
|
-
throw new MemberError(
|
|
304
|
+
throw new member_1.MemberError(member_error_type_1.default.MissingEmail);
|
|
301
305
|
}
|
|
302
306
|
if (email.toString().trim() != email.toString()) {
|
|
303
|
-
throw new MemberError(
|
|
307
|
+
throw new member_1.MemberError(member_error_type_1.default.InvalidEmailWhitespace);
|
|
304
308
|
}
|
|
305
|
-
const eciesConsts = eciesParams ?? ECIES;
|
|
309
|
+
const eciesConsts = eciesParams ?? constants_1.ECIES;
|
|
306
310
|
// Use injected services
|
|
307
311
|
const mnemonic = forceMnemonic ?? eciesService.generateNewMnemonic();
|
|
308
312
|
const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
|
|
@@ -310,13 +314,14 @@ export class Member {
|
|
|
310
314
|
const privateKey = wallet.getPrivateKey();
|
|
311
315
|
// Get compressed public key
|
|
312
316
|
const publicKey = eciesService.getPublicKey(privateKey);
|
|
313
|
-
const newId = Constants.idProvider.generate();
|
|
317
|
+
const newId = constants_1.Constants.idProvider.generate();
|
|
314
318
|
const dateCreated = new Date();
|
|
315
319
|
return {
|
|
316
320
|
// Pass injected services to constructor
|
|
317
|
-
member: new Member(eciesService, type, name, email, publicKey, new SecureBuffer(privateKey), wallet, newId, dateCreated, dateCreated, createdBy ?? newId),
|
|
321
|
+
member: new Member(eciesService, type, name, email, publicKey, new secure_buffer_1.SecureBuffer(privateKey), wallet, newId, dateCreated, dateCreated, createdBy ?? newId),
|
|
318
322
|
mnemonic,
|
|
319
323
|
};
|
|
320
324
|
}
|
|
321
325
|
}
|
|
326
|
+
exports.Member = Member;
|
|
322
327
|
//# sourceMappingURL=member.js.map
|
package/src/member.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACA,aAAa,CAAe;IAC5B,GAAG,CAAa;IAChB,KAAK,CAAa;IAClB,KAAK,CAAS;IACd,MAAM,CAAc;IACpB,UAAU,CAAa;IACvB,UAAU,CAAa;IACvB,YAAY,CAAO;IACnB,YAAY,CAAO;IAC5B,WAAW,CAAgB;IAC3B,OAAO,CAAU;IAEzB;IACE,sCAAsC;IACtC,YAA0B;IAC1B,sBAAsB;IACtB,IAAgB,EAChB,IAAY,EACZ,KAAkB,EAClB,SAAqB,EACrB,UAAyB,EACzB,MAAe,EACf,EAAe,EACf,WAAkB,EAClB,WAAkB,EAClB,SAAsB;QAEtB,2BAA2B;QAC3B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,kFAAkF;QAClF,IAAI,IAAI,GAAgB,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG;YACV,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC;IAC1C,CAAC;IAED,mBAAmB;IACnB,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAW,MAAM;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;IAChB,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IACxC,CAAC;IAEM,gBAAgB;QACrB,oFAAoF;QACpF,yDAAyD;QACzD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAEM,yBAAyB;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CACf,QAAsB,EACtB,WAA6B;QAE7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE9D,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,UAAwB;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,IAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEM,QAAQ,CAAC,IAAgB;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CACnC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAA8B,EAAE,IAAgB;QAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAEM,eAAe,CACpB,IAAgB,EAChB,SAAqB,EACrB,SAAqB;QAErB,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CACrC,SAAS,EACT,IAAI,EACJ,SAAgC,CACjC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAU,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,aAAa;IACrE,MAAM,CAAU,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,sCAAsC;IAE3G;;OAEG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACtB,MAA8D,EAC9D,OAOC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;YACtD,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExD,oDAAoD;QACpD,MAAM,WAAW,GACf,WAAW,IAAI,MAAM;YACnB,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAChC,MAAoC,CACrC;YACH,CAAC,CAAE,MAAoC,CAAC;QAE5C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAC5C,WAAW,EACX,eAAe,EACf;YACE,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CACF,EAAE,CAAC;YACF,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,CAAC;YACpD,eAAe,EAAE,CAAC;YAElB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACtB,MAA8D,EAC9D,OAMC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExD,oDAAoD;QACpD,MAAM,WAAW,GACf,WAAW,IAAI,MAAM;YACnB,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAChC,MAAoC,CACrC;YACH,CAAC,CAAE,MAAoC,CAAC;QAE5C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAC5C,WAAW,EACX,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,EAAE,CAAC;YACF,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;YAC/B,eAAe,EAAE,CAAC;YAElB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,CAAC,6BAA6B,CAC1C,MAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,IAAyB,EACzB,kBAA+B;QAE/B,iBAAiB;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAED,mBAAmB;QACnB,MAAM,GAAG,GACP,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAChE,CAAC;QAED,8CAA8C;QAC9C,MAAM,eAAe,GAAG,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CACnD,KAAK,EACL,eAAe,EACf,GAAG,CACJ,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,aAAyB;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,8DAA8D;QAC9D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAC7D,KAAK,EACL,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,MAAM,OAAO,GAAuB;YAClC,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1D,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;SAC7C,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,OAAO;QACZ,oDAAoD;QACpD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,IAAY;IACZ,sCAAsC;IACtC,YAA0B;QAE1B,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7C,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,IAAI,MAAM,CACf,YAAY,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,KAAK,EACL,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EACrC,SAAS,EACT,SAAS,EACT,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5C,WAAW,EACX,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAC7B,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CACpD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,QAAsB,EACtB,YAA0B,EAC1B,WAA6B,EAC7B,IAAI,GAAG,WAAW,EAClB,KAAK,GAAG,IAAI,WAAW,CAAC,kBAAkB,CAAC;QAE3C,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,2CAA2C;QAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO,IAAI,MAAM,CACf,YAAY,EACZ,UAAU,CAAC,IAAI,EACf,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,YAAY,CAAC,UAAU,CAAC,EAC5B,MAAM,CACP,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAAS;IACrB,sCAAsC;IACtC,YAA0B;IAC1B,sBAAsB;IACtB,IAAgB,EAChB,IAAY,EACZ,KAAkB,EAClB,aAA4B,EAC5B,SAAsB,EACtB,WAA6B;QAE7B,wBAAwB;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,wBAAwB;QACxB,MAAM,QAAQ,GAAG,aAAa,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAEpE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,4BAA4B;QAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,OAAO;YACL,wCAAwC;YACxC,MAAM,EAAE,IAAI,MAAM,CAChB,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,YAAY,CAAC,UAAU,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,IAAI,KAAK,CACnB;YACD,QAAQ;SACT,CAAC;IACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
package/src/pbkdf2-profiles.js
CHANGED
package/src/phone-number.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 {
|
|
5
8
|
_number;
|
|
6
9
|
constructor(number) {
|
|
7
10
|
// make sure the phone number fits the regex
|
|
8
|
-
if (!PhoneNumberRegex.test(number)) {
|
|
9
|
-
const engine = getEciesI18nEngine();
|
|
10
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_PhoneNumber_InvalidTemplate, { phoneNumber: number }));
|
|
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 }));
|
|
11
14
|
}
|
|
12
15
|
this._number = number;
|
|
13
16
|
}
|
|
@@ -15,4 +18,5 @@ export class PhoneNumber {
|
|
|
15
18
|
return this._number;
|
|
16
19
|
}
|
|
17
20
|
}
|
|
21
|
+
exports.PhoneNumber = PhoneNumber;
|
|
18
22
|
//# sourceMappingURL=phone-number.js.map
|
package/src/phone-number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone-number.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/phone-number.ts"],"names":[],"mappings":"AAAA,
|
|
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.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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;
|
|
3
6
|
/**
|
|
4
7
|
* Phone number regex to validate phone numbers
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
exports.PhoneNumberRegex = /^(\+\d{1,3}[- ]?)?\d{10}$/; // Matches international phone numbers with optional country code
|
|
7
10
|
//# sourceMappingURL=regexes.js.map
|
package/src/regexes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/regexes.ts"],"names":[],"mappings":"
|
|
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"}
|
package/src/secure-buffer.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecureBuffer = void 0;
|
|
1
4
|
/// <reference path="../../../types/global.d.ts" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const secure_storage_error_type_1 = require("./enumerations/secure-storage-error-type");
|
|
6
|
+
const disposed_1 = require("./errors/disposed");
|
|
7
|
+
const secure_storage_1 = require("./errors/secure-storage");
|
|
8
|
+
const objectid_provider_1 = require("./lib/id-providers/objectid-provider");
|
|
9
|
+
const xor_1 = require("./services/xor");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
8
11
|
/**
|
|
9
12
|
* Default ID provider (singleton, no circular dependency)
|
|
10
13
|
*/
|
|
11
|
-
const DEFAULT_ID_PROVIDER = new ObjectIdProvider();
|
|
14
|
+
const DEFAULT_ID_PROVIDER = new objectid_provider_1.ObjectIdProvider();
|
|
12
15
|
/**
|
|
13
16
|
* A secure string buffer is a buffer whose intent is to prevent the raw password from being stored in memory.
|
|
14
17
|
* The buffer is encrypted with a key derived from a random ID.
|
|
@@ -21,7 +24,7 @@ const DEFAULT_ID_PROVIDER = new ObjectIdProvider();
|
|
|
21
24
|
* // buffer automatically disposed when leaving scope
|
|
22
25
|
* ```
|
|
23
26
|
*/
|
|
24
|
-
|
|
27
|
+
class SecureBuffer {
|
|
25
28
|
_disposed = false;
|
|
26
29
|
_id;
|
|
27
30
|
_idProvider;
|
|
@@ -48,7 +51,7 @@ export class SecureBuffer {
|
|
|
48
51
|
this._obfuscatedChecksum = this.createSimpleObfuscatedChecksum(data);
|
|
49
52
|
}
|
|
50
53
|
dispose() {
|
|
51
|
-
const err = new DisposedError();
|
|
54
|
+
const err = new disposed_1.DisposedError();
|
|
52
55
|
if (typeof Error.captureStackTrace === 'function') {
|
|
53
56
|
Error.captureStackTrace(err, this.dispose);
|
|
54
57
|
}
|
|
@@ -85,7 +88,7 @@ export class SecureBuffer {
|
|
|
85
88
|
}
|
|
86
89
|
assertNotDisposed() {
|
|
87
90
|
if (this._disposed) {
|
|
88
|
-
const e = new DisposedError();
|
|
91
|
+
const e = new disposed_1.DisposedError();
|
|
89
92
|
try {
|
|
90
93
|
e.disposedAt = this._disposedAt;
|
|
91
94
|
}
|
|
@@ -121,20 +124,20 @@ export class SecureBuffer {
|
|
|
121
124
|
try {
|
|
122
125
|
const deobfuscatedResult = this.deobfuscateData(this._obfuscatedValue);
|
|
123
126
|
if (deobfuscatedResult.length !== this._length) {
|
|
124
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueLengthMismatch);
|
|
127
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueLengthMismatch);
|
|
125
128
|
}
|
|
126
129
|
if (!this.validateObfuscatedChecksum(deobfuscatedResult)) {
|
|
127
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
130
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
128
131
|
}
|
|
129
132
|
return deobfuscatedResult;
|
|
130
133
|
}
|
|
131
134
|
catch (error) {
|
|
132
135
|
// If it's already a SecureStorageError, re-throw it
|
|
133
|
-
if (error instanceof SecureStorageError) {
|
|
136
|
+
if (error instanceof secure_storage_1.SecureStorageError) {
|
|
134
137
|
throw error;
|
|
135
138
|
}
|
|
136
139
|
// Convert any other error (including AES-GCM authentication errors) to SecureStorageError
|
|
137
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
140
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
143
|
get valueAsString() {
|
|
@@ -143,7 +146,7 @@ export class SecureBuffer {
|
|
|
143
146
|
}
|
|
144
147
|
get valueAsHexString() {
|
|
145
148
|
this.assertNotDisposed();
|
|
146
|
-
return uint8ArrayToHex(this.value);
|
|
149
|
+
return (0, utils_1.uint8ArrayToHex)(this.value);
|
|
147
150
|
}
|
|
148
151
|
get valueAsBase64String() {
|
|
149
152
|
this.assertNotDisposed();
|
|
@@ -188,14 +191,15 @@ export class SecureBuffer {
|
|
|
188
191
|
return this.validateSimpleChecksum(data, deobfuscatedChecksum);
|
|
189
192
|
}
|
|
190
193
|
obfuscateData(data) {
|
|
191
|
-
return XorService.xor(data, this._key);
|
|
194
|
+
return xor_1.XorService.xor(data, this._key);
|
|
192
195
|
}
|
|
193
196
|
deobfuscateData(data) {
|
|
194
|
-
return XorService.xor(data, this._key);
|
|
197
|
+
return xor_1.XorService.xor(data, this._key);
|
|
195
198
|
}
|
|
196
199
|
get length() {
|
|
197
200
|
this.assertNotDisposed();
|
|
198
201
|
return this._length;
|
|
199
202
|
}
|
|
200
203
|
}
|
|
204
|
+
exports.SecureBuffer = SecureBuffer;
|
|
201
205
|
//# sourceMappingURL=secure-buffer.js.map
|
package/src/secure-buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-buffer.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"secure-buffer.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"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"}
|
package/src/secure-string.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecureString = void 0;
|
|
1
4
|
/// <reference path="../../../types/global.d.ts" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const secure_storage_error_type_1 = require("./enumerations/secure-storage-error-type");
|
|
6
|
+
const disposed_1 = require("./errors/disposed");
|
|
7
|
+
const secure_storage_1 = require("./errors/secure-storage");
|
|
8
|
+
const objectid_provider_1 = require("./lib/id-providers/objectid-provider");
|
|
9
|
+
const xor_1 = require("./services/xor");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
8
11
|
/**
|
|
9
12
|
* Default ID provider (singleton, no circular dependency)
|
|
10
13
|
*/
|
|
11
|
-
const DEFAULT_ID_PROVIDER = new ObjectIdProvider();
|
|
14
|
+
const DEFAULT_ID_PROVIDER = new objectid_provider_1.ObjectIdProvider();
|
|
12
15
|
/**
|
|
13
16
|
* A secure string buffer is a buffer whose intent is to prevent the raw password from being stored in memory.
|
|
14
17
|
*/
|
|
15
|
-
|
|
18
|
+
class SecureString {
|
|
16
19
|
_disposed = false;
|
|
17
20
|
_isNull;
|
|
18
21
|
_id;
|
|
@@ -56,7 +59,7 @@ export class SecureString {
|
|
|
56
59
|
}
|
|
57
60
|
assertNotDisposed() {
|
|
58
61
|
if (this._disposed) {
|
|
59
|
-
const e = new DisposedError();
|
|
62
|
+
const e = new disposed_1.DisposedError();
|
|
60
63
|
try {
|
|
61
64
|
e.disposedAt = this._disposedAt;
|
|
62
65
|
}
|
|
@@ -67,7 +70,7 @@ export class SecureString {
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
dispose() {
|
|
70
|
-
const err = new DisposedError();
|
|
73
|
+
const err = new disposed_1.DisposedError();
|
|
71
74
|
if (typeof Error.captureStackTrace === 'function') {
|
|
72
75
|
Error.captureStackTrace(err, this.dispose);
|
|
73
76
|
}
|
|
@@ -100,7 +103,7 @@ export class SecureString {
|
|
|
100
103
|
try {
|
|
101
104
|
const deobfuscatedResult = this.deobfuscateData(this._obfuscatedValue);
|
|
102
105
|
if (deobfuscatedResult.length !== this._length) {
|
|
103
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueLengthMismatch);
|
|
106
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueLengthMismatch);
|
|
104
107
|
}
|
|
105
108
|
// Validate checksum
|
|
106
109
|
const expectedChecksum = this.createSimpleChecksum(deobfuscatedResult);
|
|
@@ -108,17 +111,17 @@ export class SecureString {
|
|
|
108
111
|
const expectedBytes = new TextEncoder().encode(expectedChecksum);
|
|
109
112
|
const storedBytes = new TextEncoder().encode(storedChecksum);
|
|
110
113
|
if (!this.timingSafeEqual(expectedBytes, storedBytes)) {
|
|
111
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
114
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
112
115
|
}
|
|
113
116
|
return deobfuscatedResult;
|
|
114
117
|
}
|
|
115
118
|
catch (error) {
|
|
116
119
|
// If it's already a SecureStorageError, re-throw it
|
|
117
|
-
if (error instanceof SecureStorageError) {
|
|
120
|
+
if (error instanceof secure_storage_1.SecureStorageError) {
|
|
118
121
|
throw error;
|
|
119
122
|
}
|
|
120
123
|
// Convert any other error to SecureStorageError
|
|
121
|
-
throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
124
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch);
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
127
|
get value() {
|
|
@@ -131,13 +134,13 @@ export class SecureString {
|
|
|
131
134
|
get notNullValue() {
|
|
132
135
|
this.assertNotDisposed();
|
|
133
136
|
if (this._isNull) {
|
|
134
|
-
throw new SecureStorageError(SecureStorageErrorType.ValueIsNull);
|
|
137
|
+
throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.ValueIsNull);
|
|
135
138
|
}
|
|
136
139
|
return new TextDecoder().decode(this.valueAsUint8Array);
|
|
137
140
|
}
|
|
138
141
|
get valueAsHexString() {
|
|
139
142
|
this.assertNotDisposed();
|
|
140
|
-
return uint8ArrayToHex(this.valueAsUint8Array);
|
|
143
|
+
return (0, utils_1.uint8ArrayToHex)(this.valueAsUint8Array);
|
|
141
144
|
}
|
|
142
145
|
get valueAsBase64String() {
|
|
143
146
|
this.assertNotDisposed();
|
|
@@ -159,7 +162,7 @@ export class SecureString {
|
|
|
159
162
|
async generateChecksum(data) {
|
|
160
163
|
const dataBytes = typeof data === 'string' ? new TextEncoder().encode(data) : data;
|
|
161
164
|
const hashArray = await crypto.subtle.digest('SHA-256', new Uint8Array(dataBytes));
|
|
162
|
-
return uint8ArrayToHex(new Uint8Array(hashArray));
|
|
165
|
+
return (0, utils_1.uint8ArrayToHex)(new Uint8Array(hashArray));
|
|
163
166
|
}
|
|
164
167
|
createSimpleChecksum(data) {
|
|
165
168
|
let hash = 0;
|
|
@@ -197,10 +200,11 @@ export class SecureString {
|
|
|
197
200
|
return this.validateChecksum(data, deobfuscatedChecksum);
|
|
198
201
|
}
|
|
199
202
|
obfuscateData(data) {
|
|
200
|
-
return XorService.xor(data, this._key);
|
|
203
|
+
return xor_1.XorService.xor(data, this._key);
|
|
201
204
|
}
|
|
202
205
|
deobfuscateData(data) {
|
|
203
|
-
return XorService.xor(data, this._key);
|
|
206
|
+
return xor_1.XorService.xor(data, this._key);
|
|
204
207
|
}
|
|
205
208
|
}
|
|
209
|
+
exports.SecureString = SecureString;
|
|
206
210
|
//# sourceMappingURL=secure-string.js.map
|