@digitaldefiance/node-express-suite 1.3.18 → 1.3.21
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 +13 -0
- package/package.json +5 -5
- package/src/application-base.d.ts.map +1 -1
- package/src/application-base.js.map +1 -1
- package/src/application.d.ts.map +1 -1
- package/src/application.js.map +1 -1
- package/src/backup-code.d.ts.map +1 -1
- package/src/backup-code.js +7 -7
- package/src/backup-code.js.map +1 -1
- package/src/constants.d.ts +1 -1
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +6 -4
- package/src/constants.js.map +1 -1
- package/src/controllers/base.d.ts +3 -3
- package/src/controllers/base.d.ts.map +1 -1
- package/src/controllers/base.js +1 -1
- package/src/controllers/base.js.map +1 -1
- package/src/controllers/user.d.ts.map +1 -1
- package/src/controllers/user.js +1 -1
- package/src/controllers/user.js.map +1 -1
- package/src/decorators/base-controller.d.ts +4 -4
- package/src/decorators/base-controller.d.ts.map +1 -1
- package/src/decorators/base-controller.js.map +1 -1
- package/src/decorators/controller.d.ts.map +1 -1
- package/src/decorators/controller.js.map +1 -1
- package/src/defaults.d.ts.map +1 -1
- package/src/defaults.js +88 -0
- package/src/defaults.js.map +1 -1
- package/src/environment.d.ts.map +1 -1
- package/src/environment.js +3 -3
- package/src/environment.js.map +1 -1
- package/src/errors/symmetric.d.ts.map +1 -1
- package/src/errors/symmetric.js +1 -1
- package/src/errors/symmetric.js.map +1 -1
- package/src/interfaces/application.d.ts +2 -2
- package/src/interfaces/application.d.ts.map +1 -1
- package/src/interfaces/constants.d.ts +78 -2
- package/src/interfaces/constants.d.ts.map +1 -1
- package/src/middlewares/authenticate-crypto.d.ts +1 -1
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
- package/src/middlewares/authenticate-crypto.js +7 -15
- package/src/middlewares/authenticate-crypto.js.map +1 -1
- package/src/middlewares/authenticate-token.d.ts +1 -1
- package/src/middlewares/authenticate-token.d.ts.map +1 -1
- package/src/middlewares/authenticate-token.js +4 -8
- package/src/middlewares/authenticate-token.js.map +1 -1
- package/src/routers/api.d.ts +2 -2
- package/src/routers/api.d.ts.map +1 -1
- package/src/routers/api.js.map +1 -1
- package/src/routers/app.d.ts +2 -2
- package/src/routers/app.d.ts.map +1 -1
- package/src/routers/app.js +8 -7
- package/src/routers/app.js.map +1 -1
- package/src/routers/base.d.ts +1 -1
- package/src/routers/base.d.ts.map +1 -1
- package/src/routers/base.js.map +1 -1
- package/src/schemas/email-token.d.ts +4 -2
- package/src/schemas/email-token.d.ts.map +1 -1
- package/src/schemas/email-token.js +1 -1
- package/src/schemas/email-token.js.map +1 -1
- package/src/schemas/index.d.ts +1 -1
- package/src/schemas/index.d.ts.map +1 -1
- package/src/schemas/index.js +1 -1
- package/src/schemas/index.js.map +1 -1
- package/src/schemas/mnemonic.d.ts +1 -1
- package/src/schemas/mnemonic.d.ts.map +1 -1
- package/src/schemas/mnemonic.js +1 -1
- package/src/schemas/mnemonic.js.map +1 -1
- package/src/schemas/role.d.ts +2 -1
- package/src/schemas/role.d.ts.map +1 -1
- package/src/schemas/role.js +1 -1
- package/src/schemas/role.js.map +1 -1
- package/src/schemas/schema.d.ts +2 -0
- package/src/schemas/schema.d.ts.map +1 -1
- package/src/schemas/schema.js +9 -1
- package/src/schemas/schema.js.map +1 -1
- package/src/schemas/used-direct-login-token.d.ts +2 -1
- package/src/schemas/used-direct-login-token.d.ts.map +1 -1
- package/src/schemas/used-direct-login-token.js +1 -1
- package/src/schemas/used-direct-login-token.js.map +1 -1
- package/src/schemas/user-role.d.ts +2 -1
- package/src/schemas/user-role.d.ts.map +1 -1
- package/src/schemas/user-role.js +1 -1
- package/src/schemas/user-role.js.map +1 -1
- package/src/schemas/user.d.ts +1 -1
- package/src/schemas/user.d.ts.map +1 -1
- package/src/schemas/user.js +1 -1
- package/src/schemas/user.js.map +1 -1
- package/src/services/backup-code.d.ts +2 -2
- package/src/services/backup-code.d.ts.map +1 -1
- package/src/services/backup-code.js +4 -4
- package/src/services/backup-code.js.map +1 -1
- package/src/services/base.d.ts +3 -3
- package/src/services/base.d.ts.map +1 -1
- package/src/services/base.js.map +1 -1
- package/src/services/checksum.d.ts +3 -1
- package/src/services/checksum.d.ts.map +1 -1
- package/src/services/checksum.js +17 -15
- package/src/services/checksum.js.map +1 -1
- package/src/services/crc.js +4 -4
- package/src/services/crc.js.map +1 -1
- package/src/services/database-initialization.d.ts.map +1 -1
- package/src/services/database-initialization.js +4 -4
- package/src/services/database-initialization.js.map +1 -1
- package/src/services/direct-login-token.d.ts +1 -1
- package/src/services/direct-login-token.d.ts.map +1 -1
- package/src/services/direct-login-token.js.map +1 -1
- package/src/services/fec-usage-example.d.ts +4 -4
- package/src/services/fec.d.ts +2 -2
- package/src/services/fec.d.ts.map +1 -1
- package/src/services/fec.js +56 -34
- package/src/services/fec.js.map +1 -1
- package/src/services/jwt.d.ts +3 -3
- package/src/services/jwt.d.ts.map +1 -1
- package/src/services/jwt.js +3 -4
- package/src/services/jwt.js.map +1 -1
- package/src/services/key-wrapping.d.ts +10 -9
- package/src/services/key-wrapping.d.ts.map +1 -1
- package/src/services/key-wrapping.js +32 -33
- package/src/services/key-wrapping.js.map +1 -1
- package/src/services/mnemonic.d.ts +3 -3
- package/src/services/mnemonic.d.ts.map +1 -1
- package/src/services/mnemonic.js +5 -6
- package/src/services/mnemonic.js.map +1 -1
- package/src/services/request-user.d.ts.map +1 -1
- package/src/services/request-user.js.map +1 -1
- package/src/services/role.d.ts +2 -2
- package/src/services/role.d.ts.map +1 -1
- package/src/services/role.js.map +1 -1
- package/src/services/system-user.d.ts +3 -4
- package/src/services/system-user.d.ts.map +1 -1
- package/src/services/system-user.js +6 -6
- package/src/services/system-user.js.map +1 -1
- package/src/services/user.d.ts.map +1 -1
- package/src/services/user.js +17 -16
- package/src/services/user.js.map +1 -1
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +3 -4
- package/src/utils.js.map +1 -1
package/src/services/fec.js
CHANGED
|
@@ -20,10 +20,10 @@ class FecService {
|
|
|
20
20
|
EXPECTED: (shardSize * dataShards).toString(),
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
if (shardSize >
|
|
23
|
+
if (shardSize > fecConstants.MAX_SHARD_SIZE) {
|
|
24
24
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.ShardSizeExceedsMaximum, undefined, {
|
|
25
25
|
SIZE: shardSize.toString(),
|
|
26
|
-
MAXIMUM:
|
|
26
|
+
MAXIMUM: fecConstants.MAX_SHARD_SIZE.toString(),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
if (dataShards <= 0 || parityShards <= 0) {
|
|
@@ -31,7 +31,7 @@ class FecService {
|
|
|
31
31
|
}
|
|
32
32
|
try {
|
|
33
33
|
const shards = new Uint8Array(shardSize * (dataShards + parityShards));
|
|
34
|
-
shards.set(data);
|
|
34
|
+
shards.set(new Uint8Array(data));
|
|
35
35
|
// Encoding
|
|
36
36
|
const reedSolomonErasure = await reed_solomon_erasure_wasm_1.ReedSolomonErasure.fromCurrentDirectory();
|
|
37
37
|
reedSolomonErasure.encode(shards, dataShards, parityShards);
|
|
@@ -72,9 +72,10 @@ class FecService {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
try {
|
|
75
|
+
const uint8Data = new Uint8Array(data);
|
|
75
76
|
const reedSolomonErasure = await reed_solomon_erasure_wasm_1.ReedSolomonErasure.fromCurrentDirectory();
|
|
76
|
-
reedSolomonErasure.reconstruct(
|
|
77
|
-
return
|
|
77
|
+
reedSolomonErasure.reconstruct(uint8Data, dataShards, parityShards, shardsAvailable);
|
|
78
|
+
return Buffer.from(uint8Data.subarray(0, shardSize * dataShards));
|
|
78
79
|
}
|
|
79
80
|
catch (error) {
|
|
80
81
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.FecDecodingFailed, undefined, {
|
|
@@ -85,14 +86,14 @@ class FecService {
|
|
|
85
86
|
/**
|
|
86
87
|
* Create parity data for a file buffer.
|
|
87
88
|
*/
|
|
88
|
-
async createParityData(fileData, parityCount) {
|
|
89
|
+
async createParityData(fileData, parityCount, fecConstants = constants_1.FEC) {
|
|
89
90
|
if (!fileData || fileData.length === 0) {
|
|
90
91
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.DataRequired);
|
|
91
92
|
}
|
|
92
93
|
if (parityCount <= 0) {
|
|
93
94
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.ParityDataCountMustBePositive);
|
|
94
95
|
}
|
|
95
|
-
const shardSize = Math.min(fileData.length,
|
|
96
|
+
const shardSize = Math.min(fileData.length, fecConstants.MAX_SHARD_SIZE);
|
|
96
97
|
const requiredShards = Math.ceil(fileData.length / shardSize);
|
|
97
98
|
try {
|
|
98
99
|
const resultParityData = Array(parityCount)
|
|
@@ -104,17 +105,16 @@ class FecService {
|
|
|
104
105
|
const end = Math.min(start + shardSize, fileData.length);
|
|
105
106
|
const chunk = fileData.subarray(start, end);
|
|
106
107
|
// Pad chunk if necessary
|
|
107
|
-
const paddedChunk =
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const chunkParity = await this.encode(paddedChunk, shardSize, 1, parityCount, true);
|
|
108
|
+
const paddedChunk = Buffer.alloc(shardSize);
|
|
109
|
+
paddedChunk.set(chunk.subarray(0, shardSize));
|
|
110
|
+
const chunkParity = await this.encode(paddedChunk, shardSize, 1, parityCount, true, fecConstants);
|
|
111
111
|
// Distribute parity data
|
|
112
112
|
for (let j = 0; j < parityCount; j++) {
|
|
113
113
|
const parityChunk = chunkParity.subarray(j * shardSize, (j + 1) * shardSize);
|
|
114
|
-
resultParityData[j]
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
]
|
|
114
|
+
const combined = Buffer.alloc(resultParityData[j].length + parityChunk.length);
|
|
115
|
+
combined.set(resultParityData[j], 0);
|
|
116
|
+
combined.set(parityChunk, resultParityData[j].length);
|
|
117
|
+
resultParityData[j] = combined;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
return resultParityData.map((data, index) => ({
|
|
@@ -131,7 +131,7 @@ class FecService {
|
|
|
131
131
|
/**
|
|
132
132
|
* Recover file data using parity data. Pass null for corrupted data.
|
|
133
133
|
*/
|
|
134
|
-
async recoverFileData(corruptedData, parityData, originalSize) {
|
|
134
|
+
async recoverFileData(corruptedData, parityData, originalSize, fecConstants = constants_1.FEC) {
|
|
135
135
|
if (!parityData || parityData.length === 0) {
|
|
136
136
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.ParityDataRequired);
|
|
137
137
|
}
|
|
@@ -139,34 +139,56 @@ class FecService {
|
|
|
139
139
|
throw new suite_core_lib_1.FecError(suite_core_lib_1.FecErrorType.InvalidDataLength);
|
|
140
140
|
}
|
|
141
141
|
try {
|
|
142
|
-
const shardSize = Math.min(originalSize,
|
|
142
|
+
const shardSize = Math.min(originalSize, fecConstants.MAX_SHARD_SIZE);
|
|
143
143
|
const requiredShards = Math.ceil(originalSize / shardSize);
|
|
144
|
-
// Set up shard availability array (data shard unavailable, parity shards available)
|
|
145
|
-
const availableShards = [false, ...Array(parityData.length).fill(true)];
|
|
146
144
|
let recoveredData = Buffer.alloc(0);
|
|
145
|
+
let parityUsed = false;
|
|
147
146
|
// Recover each shard
|
|
148
147
|
for (let i = 0; i < requiredShards; i++) {
|
|
149
148
|
const start = i * shardSize;
|
|
150
149
|
const end = Math.min(start + shardSize, originalSize);
|
|
151
150
|
const chunkSize = end - start;
|
|
152
|
-
//
|
|
153
|
-
const corruptedShard =
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
151
|
+
// Use corrupted data if available, otherwise create placeholder
|
|
152
|
+
const corruptedShard = corruptedData
|
|
153
|
+
? corruptedData.subarray(start, Math.min(end, corruptedData.length))
|
|
154
|
+
: Buffer.alloc(0);
|
|
155
|
+
const parityChunks = parityData.map((parity) => parity.data.subarray(i * shardSize, (i + 1) * shardSize));
|
|
156
|
+
const hasDataShard = corruptedShard.length > 0;
|
|
157
|
+
const paddedCorruptedShard = Buffer.alloc(shardSize);
|
|
158
|
+
if (hasDataShard) {
|
|
159
|
+
paddedCorruptedShard.set(corruptedShard.subarray(0, Math.min(shardSize, corruptedShard.length)));
|
|
160
|
+
}
|
|
161
|
+
let shardIsHealthy = false;
|
|
162
|
+
if (hasDataShard) {
|
|
163
|
+
const regeneratedParity = await this.encode(paddedCorruptedShard, shardSize, 1, parityData.length, true, fecConstants);
|
|
164
|
+
shardIsHealthy = parityChunks.every((parityChunk, index) => parityChunk.equals(Uint8Array.from(regeneratedParity.subarray(index * shardSize, (index + 1) * shardSize))));
|
|
165
|
+
}
|
|
166
|
+
if (shardIsHealthy) {
|
|
167
|
+
const actualShard = Buffer.from(paddedCorruptedShard.subarray(0, chunkSize));
|
|
168
|
+
const combinedRecovered = Buffer.alloc(recoveredData.length + actualShard.length);
|
|
169
|
+
combinedRecovered.set(recoveredData, 0);
|
|
170
|
+
combinedRecovered.set(actualShard, recoveredData.length);
|
|
171
|
+
recoveredData = combinedRecovered;
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
// Mark data shard as missing and attempt recovery using parity
|
|
175
|
+
parityUsed = true;
|
|
176
|
+
const shardData = Buffer.alloc((1 + parityData.length) * shardSize);
|
|
177
|
+
shardData.set(paddedCorruptedShard, 0);
|
|
178
|
+
parityChunks.forEach((chunk, index) => {
|
|
179
|
+
shardData.set(chunk, (index + 1) * shardSize);
|
|
180
|
+
});
|
|
181
|
+
const availableShards = [false, ...Array(parityData.length).fill(true)];
|
|
160
182
|
const recoveredShard = await this.decode(shardData, shardSize, 1, parityData.length, availableShards);
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
recoveredData =
|
|
183
|
+
const actualShard = recoveredShard.subarray(0, chunkSize);
|
|
184
|
+
const combinedRecovered = Buffer.alloc(recoveredData.length + actualShard.length);
|
|
185
|
+
combinedRecovered.set(recoveredData, 0);
|
|
186
|
+
combinedRecovered.set(actualShard, recoveredData.length);
|
|
187
|
+
recoveredData = combinedRecovered;
|
|
166
188
|
}
|
|
167
189
|
return {
|
|
168
190
|
data: recoveredData,
|
|
169
|
-
recovered:
|
|
191
|
+
recovered: parityUsed || corruptedData === null,
|
|
170
192
|
};
|
|
171
193
|
}
|
|
172
194
|
catch (error) {
|
|
@@ -181,7 +203,7 @@ class FecService {
|
|
|
181
203
|
async verifyFileIntegrity(fileData, parityData) {
|
|
182
204
|
try {
|
|
183
205
|
const regeneratedParity = await this.createParityData(fileData, parityData.length);
|
|
184
|
-
return parityData.every((original, index) => original.data
|
|
206
|
+
return parityData.every((original, index) => Buffer.compare(new Uint8Array(original.data), new Uint8Array(regeneratedParity[index].data)) === 0);
|
|
185
207
|
}
|
|
186
208
|
catch {
|
|
187
209
|
return false;
|
package/src/services/fec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fec.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/fec.ts"],"names":[],"mappings":";;;AAAA,oEAAyE;AACzE,mFAAyE;AACzE,4CAAmC;AAyBnC,MAAa,UAAU;IACrB;;;OAGG;IACI,KAAK,CAAC,MAAM,CACjB,IAAY,EACZ,SAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,OAAgB,EAChB,eAA2B,eAAG;QAE9B,sBAAsB;QACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAQ,CAAC,6BAAY,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,GAAG,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,yBAAQ,CAAC,6BAAY,CAAC,iBAAiB,EAAE,SAAS,EAAE;gBAC5D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC9B,QAAQ,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"fec.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/fec.ts"],"names":[],"mappings":"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"}
|
package/src/services/jwt.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ITokenRole, ITokenUser } from '@digitaldefiance/suite-core-lib';
|
|
2
2
|
import { Types } from 'mongoose';
|
|
3
|
+
import { IBaseDocument } from '../documents';
|
|
3
4
|
import { IUserDocument } from '../documents/user';
|
|
5
|
+
import { Environment } from '../environment';
|
|
6
|
+
import { IConstants } from '../interfaces';
|
|
4
7
|
import { IApplication } from '../interfaces/application';
|
|
5
8
|
import { IJwtSignResponse } from '../interfaces/jwt-sign-response';
|
|
6
9
|
import { BaseService } from './base';
|
|
7
|
-
import { IConstants } from '../interfaces';
|
|
8
|
-
import { Environment } from '../environment';
|
|
9
|
-
import { IBaseDocument } from '../documents';
|
|
10
10
|
export declare class JwtService<I = Types.ObjectId, D extends Date = Date, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>, TTokenUser extends ITokenUser = ITokenUser, TApplication extends IApplication<any, Types.ObjectId, IBaseDocument<any, Types.ObjectId>, Environment, IConstants> = IApplication<any, Types.ObjectId, IBaseDocument<any, Types.ObjectId>, Environment, IConstants>> extends BaseService {
|
|
11
11
|
private readonly roleService;
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAUrC,qBAAa,UAAU,CACrB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAClB,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtD,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,YAAY,CAC/B,GAAG,EACH,KAAK,CAAC,QAAQ,EACd,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAClC,WAAW,EACX,UAAU,CACX,GAAG,YAAY,CACd,GAAG,EACH,KAAK,CAAC,QAAQ,EACd,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAClC,WAAW,EACX,UAAU,CACX,CACD,SAAQ,WAAW;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAE5D;;;OAGG;gBACS,WAAW,EAAE,YAAY;IAKrC;;;;;;OAMG;IACU,SAAS,CACpB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAgC9C;;;;;OAKG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAgCpE"}
|
package/src/services/jwt.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JwtService = void 0;
|
|
4
4
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
5
5
|
const util_1 = require("util");
|
|
6
|
-
const constants_1 = require("../constants");
|
|
7
6
|
const invalid_jwt_token_1 = require("../errors/invalid-jwt-token");
|
|
8
7
|
const token_expired_1 = require("../errors/token-expired");
|
|
9
8
|
const base_1 = require("./base");
|
|
@@ -39,9 +38,9 @@ class JwtService extends base_1.BaseService {
|
|
|
39
38
|
};
|
|
40
39
|
// amazonq-ignore-next-line false positive
|
|
41
40
|
const token = (0, jsonwebtoken_1.sign)(tokenUser, jwtSecret, {
|
|
42
|
-
algorithm:
|
|
41
|
+
algorithm: this.application.constants.JWT.ALGORITHM,
|
|
43
42
|
allowInsecureKeySizes: false,
|
|
44
|
-
expiresIn:
|
|
43
|
+
expiresIn: this.application.constants.JWT.EXPIRATION_SEC,
|
|
45
44
|
});
|
|
46
45
|
return {
|
|
47
46
|
token,
|
|
@@ -61,7 +60,7 @@ class JwtService extends base_1.BaseService {
|
|
|
61
60
|
async verifyToken(token) {
|
|
62
61
|
try {
|
|
63
62
|
const decoded = (await verifyAsync(token, this.application.environment.jwtSecret, {
|
|
64
|
-
algorithms: [
|
|
63
|
+
algorithms: [this.application.constants.JWT.ALGORITHM],
|
|
65
64
|
}));
|
|
66
65
|
if (typeof decoded === 'object' &&
|
|
67
66
|
decoded !== null &&
|
package/src/services/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":";;;AAKA,+CAOsB;AAEtB,+BAAiC;
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/jwt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { IConstants } from '@digitaldefiance/node-ecies-lib';
|
|
2
3
|
export interface WrappedKey {
|
|
3
4
|
salt: string;
|
|
4
5
|
iv: string;
|
|
@@ -18,43 +19,43 @@ export declare class KeyWrappingService {
|
|
|
18
19
|
/**
|
|
19
20
|
* Generates a new master key and wraps it with the user's password
|
|
20
21
|
*/
|
|
21
|
-
wrapNewMasterKey(password: SecureString): {
|
|
22
|
+
wrapNewMasterKey(password: SecureString, constants?: IConstants): {
|
|
22
23
|
masterKey: SecureBuffer;
|
|
23
24
|
wrappedKey: WrappedKey;
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* Wraps an existing master key with a password-derived key
|
|
27
28
|
*/
|
|
28
|
-
wrapMasterKey(masterKey: SecureBuffer, password: SecureString): WrappedKey;
|
|
29
|
+
wrapMasterKey(masterKey: SecureBuffer, password: SecureString, constants?: IConstants): WrappedKey;
|
|
29
30
|
/**
|
|
30
31
|
* Unwraps a master key using the user's password
|
|
31
32
|
*/
|
|
32
|
-
unwrapMasterKey(wrappedKey: WrappedKey, password: SecureString): SecureBuffer;
|
|
33
|
+
unwrapMasterKey(wrappedKey: WrappedKey, password: SecureString, constants?: IConstants): SecureBuffer;
|
|
33
34
|
/**
|
|
34
35
|
* Async version of unwrapMasterKey that uses libuv threadpool via crypto.pbkdf2
|
|
35
36
|
* to avoid blocking the event loop during password verification.
|
|
36
37
|
*/
|
|
37
|
-
unwrapMasterKeyAsync(wrappedKey: WrappedKey, password: SecureString | string): Promise<SecureBuffer>;
|
|
38
|
+
unwrapMasterKeyAsync(wrappedKey: WrappedKey, password: SecureString | string, constants?: IConstants): Promise<SecureBuffer>;
|
|
38
39
|
/**
|
|
39
40
|
* Deduplicated async unwrap that coalesces concurrent identical PBKDF2 operations.
|
|
40
41
|
* Keyed by salt + iterations + a short hash of the password. Entry is removed after resolve/reject.
|
|
41
42
|
*/
|
|
42
|
-
unwrapMasterKeyAsyncDedup(wrappedKey: WrappedKey, password: string): Promise<SecureBuffer>;
|
|
43
|
+
unwrapMasterKeyAsyncDedup(wrappedKey: WrappedKey, password: string, constants?: IConstants): Promise<SecureBuffer>;
|
|
43
44
|
/**
|
|
44
45
|
* Changes password by re-wrapping the master key
|
|
45
46
|
*/
|
|
46
|
-
changePassword(wrappedKey: WrappedKey, oldPassword: SecureString, newPassword: SecureString): WrappedKey;
|
|
47
|
+
changePassword(wrappedKey: WrappedKey, oldPassword: SecureString, newPassword: SecureString, constants?: IConstants): WrappedKey;
|
|
47
48
|
/**
|
|
48
49
|
* Wraps arbitrary secret bytes with a password-derived key (AES-256-GCM)
|
|
49
50
|
*/
|
|
50
|
-
wrapSecret(secret: SecureBuffer, password: SecureString): PasswordWrappedSecret;
|
|
51
|
+
wrapSecret(secret: SecureBuffer, password: SecureString, constants?: IConstants): PasswordWrappedSecret;
|
|
51
52
|
/**
|
|
52
53
|
* Unwraps a password-wrapped secret (sync)
|
|
53
54
|
*/
|
|
54
|
-
unwrapSecret(wrapped: PasswordWrappedSecret, password: SecureString): SecureBuffer;
|
|
55
|
+
unwrapSecret(wrapped: PasswordWrappedSecret, password: SecureString, constants?: IConstants): SecureBuffer;
|
|
55
56
|
/**
|
|
56
57
|
* Unwraps a password-wrapped secret (async PBKDF2)
|
|
57
58
|
*/
|
|
58
|
-
unwrapSecretAsync(wrapped: PasswordWrappedSecret, password: SecureString | string): Promise<SecureBuffer>;
|
|
59
|
+
unwrapSecretAsync(wrapped: PasswordWrappedSecret, password: SecureString | string, constants?: IConstants): Promise<SecureBuffer>;
|
|
59
60
|
}
|
|
60
61
|
//# sourceMappingURL=key-wrapping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-wrapping.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/key-wrapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"key-wrapping.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/key-wrapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAEL,UAAU,EAEX,MAAM,iCAAiC,CAAC;AAazC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,kBAAkB;IAG7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2C;IAEzE;;OAEG;IACI,gBAAgB,CACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,GAAE,UAAsB,GAChC;QACD,SAAS,EAAE,YAAY,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC;KACxB;IAQD;;OAEG;IACI,aAAa,CAClB,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,YAAY,EACtB,SAAS,GAAE,UAAsB,GAChC,UAAU;IAyCb;;OAEG;IACI,eAAe,CACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,EACtB,SAAS,GAAE,UAAsB,GAChC,YAAY;IAuCf;;;OAGG;IACU,oBAAoB,CAC/B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,GAAG,MAAM,EAC/B,SAAS,GAAE,UAAsB,GAChC,OAAO,CAAC,YAAY,CAAC;IA6DxB;;;OAGG;IACU,yBAAyB,CACpC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,UAAsB,GAChC,OAAO,CAAC,YAAY,CAAC;IAuCxB;;OAEG;IACI,cAAc,CACnB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,SAAS,GAAE,UAAsB,GAChC,UAAU;IAcb;;OAEG;IACI,UAAU,CACf,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,YAAY,EACtB,SAAS,GAAE,UAAsB,GAChC,qBAAqB;IAuCxB;;OAEG;IACI,YAAY,CACjB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,YAAY,EACtB,SAAS,GAAE,UAAsB,GAChC,YAAY;IAoCf;;OAEG;IACU,iBAAiB,CAC5B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,YAAY,GAAG,MAAM,EAC/B,SAAS,GAAE,UAAsB,GAChC,OAAO,CAAC,YAAY,CAAC;CA+DzB"}
|
|
@@ -4,10 +4,9 @@ exports.KeyWrappingService = void 0;
|
|
|
4
4
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
5
|
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
6
6
|
const crypto_1 = require("crypto");
|
|
7
|
-
const constants_1 = require("../constants");
|
|
8
7
|
const errors_1 = require("../errors");
|
|
9
|
-
function createPbkdf2Service() {
|
|
10
|
-
return node_ecies_lib_1.Pbkdf2Service.fromConstants(
|
|
8
|
+
function createPbkdf2Service(constants) {
|
|
9
|
+
return node_ecies_lib_1.Pbkdf2Service.fromConstants(constants);
|
|
11
10
|
}
|
|
12
11
|
class KeyWrappingService {
|
|
13
12
|
// In-flight de-duplication map to share PBKDF2 work across concurrent identical requests
|
|
@@ -16,27 +15,27 @@ class KeyWrappingService {
|
|
|
16
15
|
/**
|
|
17
16
|
* Generates a new master key and wraps it with the user's password
|
|
18
17
|
*/
|
|
19
|
-
wrapNewMasterKey(password) {
|
|
20
|
-
const masterKey = new ecies_lib_1.SecureBuffer((0, crypto_1.randomBytes)(
|
|
21
|
-
const wrappedKey = this.wrapMasterKey(masterKey, password);
|
|
18
|
+
wrapNewMasterKey(password, constants = node_ecies_lib_1.Constants) {
|
|
19
|
+
const masterKey = new ecies_lib_1.SecureBuffer((0, crypto_1.randomBytes)(constants.WRAPPED_KEY.MASTER_KEY_SIZE));
|
|
20
|
+
const wrappedKey = this.wrapMasterKey(masterKey, password, constants);
|
|
22
21
|
return { masterKey, wrappedKey };
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
25
24
|
* Wraps an existing master key with a password-derived key
|
|
26
25
|
*/
|
|
27
|
-
wrapMasterKey(masterKey, password) {
|
|
28
|
-
if (
|
|
26
|
+
wrapMasterKey(masterKey, password, constants = node_ecies_lib_1.Constants) {
|
|
27
|
+
if (constants.PasswordRegex.test(password.value ?? '') === false) {
|
|
29
28
|
throw new errors_1.InvalidNewPasswordError();
|
|
30
29
|
}
|
|
31
|
-
const salt = (0, crypto_1.randomBytes)(
|
|
32
|
-
const iterations =
|
|
33
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
30
|
+
const salt = (0, crypto_1.randomBytes)(constants.WRAPPED_KEY.SALT_SIZE);
|
|
31
|
+
const iterations = constants.WRAPPED_KEY.MIN_ITERATIONS;
|
|
32
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
34
33
|
// Derive key from password using centralized PBKDF2 service
|
|
35
|
-
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, iterations,
|
|
34
|
+
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, iterations, constants.WRAPPED_KEY.SALT_SIZE, 32, // AES-256 key size
|
|
36
35
|
'sha256');
|
|
37
36
|
const passwordKeySecure = new ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
38
37
|
// Encrypt master key
|
|
39
|
-
const iv = (0, crypto_1.randomBytes)(
|
|
38
|
+
const iv = (0, crypto_1.randomBytes)(constants.WRAPPED_KEY.IV_SIZE);
|
|
40
39
|
const cipher = (0, crypto_1.createCipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
41
40
|
const encrypted = Buffer.concat([
|
|
42
41
|
cipher.update(masterKey.value),
|
|
@@ -55,12 +54,12 @@ class KeyWrappingService {
|
|
|
55
54
|
/**
|
|
56
55
|
* Unwraps a master key using the user's password
|
|
57
56
|
*/
|
|
58
|
-
unwrapMasterKey(wrappedKey, password) {
|
|
57
|
+
unwrapMasterKey(wrappedKey, password, constants = node_ecies_lib_1.Constants) {
|
|
59
58
|
const salt = Buffer.from(wrappedKey.salt, 'hex');
|
|
60
59
|
const iv = Buffer.from(wrappedKey.iv, 'hex');
|
|
61
60
|
const authTag = Buffer.from(wrappedKey.authTag, 'hex');
|
|
62
61
|
const encrypted = Buffer.from(wrappedKey.encryptedMasterKey, 'hex');
|
|
63
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
62
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
64
63
|
// Derive the same key from password using centralized PBKDF2 service
|
|
65
64
|
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, wrappedKey.iterations, salt.length, // Use actual salt size
|
|
66
65
|
32, // AES-256 key size
|
|
@@ -86,7 +85,7 @@ class KeyWrappingService {
|
|
|
86
85
|
* Async version of unwrapMasterKey that uses libuv threadpool via crypto.pbkdf2
|
|
87
86
|
* to avoid blocking the event loop during password verification.
|
|
88
87
|
*/
|
|
89
|
-
async unwrapMasterKeyAsync(wrappedKey, password) {
|
|
88
|
+
async unwrapMasterKeyAsync(wrappedKey, password, constants = node_ecies_lib_1.Constants) {
|
|
90
89
|
const __perfEnabled = process.env['PERF_LOGS'] === '1';
|
|
91
90
|
const _t0 = __perfEnabled ? Date.now() : 0;
|
|
92
91
|
const salt = Buffer.from(wrappedKey.salt, 'hex');
|
|
@@ -100,7 +99,7 @@ class KeyWrappingService {
|
|
|
100
99
|
typeof password === 'string'
|
|
101
100
|
? Buffer.from(password, 'utf8')
|
|
102
101
|
: Buffer.from(password.valueAsUint8Array);
|
|
103
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
102
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
104
103
|
// Use centralized PBKDF2 service for async key derivation
|
|
105
104
|
const derivedKey = await pbkdf2Service.deriveKeyFromPasswordAsync(pwdBuffer, salt, wrappedKey.iterations, salt.length, // Use actual salt size
|
|
106
105
|
32, // AES-256 key size
|
|
@@ -135,7 +134,7 @@ class KeyWrappingService {
|
|
|
135
134
|
* Deduplicated async unwrap that coalesces concurrent identical PBKDF2 operations.
|
|
136
135
|
* Keyed by salt + iterations + a short hash of the password. Entry is removed after resolve/reject.
|
|
137
136
|
*/
|
|
138
|
-
async unwrapMasterKeyAsyncDedup(wrappedKey, password) {
|
|
137
|
+
async unwrapMasterKeyAsyncDedup(wrappedKey, password, constants = node_ecies_lib_1.Constants) {
|
|
139
138
|
// Derive a short cache key; avoid storing raw password by hashing
|
|
140
139
|
const pwdKey = (0, crypto_1.createHash)('sha256')
|
|
141
140
|
.update(password, 'utf8')
|
|
@@ -146,7 +145,7 @@ class KeyWrappingService {
|
|
|
146
145
|
if (!p) {
|
|
147
146
|
// Compute once, extract raw bytes, dispose the shared SecureBuffer, and cache the bytes
|
|
148
147
|
p = (async () => {
|
|
149
|
-
const mk = await this.unwrapMasterKeyAsync(wrappedKey, password);
|
|
148
|
+
const mk = await this.unwrapMasterKeyAsync(wrappedKey, password, constants);
|
|
150
149
|
try {
|
|
151
150
|
const copy = Buffer.from(mk.value);
|
|
152
151
|
const b64 = copy.toString('base64');
|
|
@@ -173,12 +172,12 @@ class KeyWrappingService {
|
|
|
173
172
|
/**
|
|
174
173
|
* Changes password by re-wrapping the master key
|
|
175
174
|
*/
|
|
176
|
-
changePassword(wrappedKey, oldPassword, newPassword) {
|
|
175
|
+
changePassword(wrappedKey, oldPassword, newPassword, constants = node_ecies_lib_1.Constants) {
|
|
177
176
|
// Unwrap with old password
|
|
178
|
-
const masterKey = this.unwrapMasterKey(wrappedKey, oldPassword);
|
|
177
|
+
const masterKey = this.unwrapMasterKey(wrappedKey, oldPassword, constants);
|
|
179
178
|
try {
|
|
180
179
|
// Re-wrap with new password
|
|
181
|
-
return this.wrapMasterKey(masterKey, newPassword);
|
|
180
|
+
return this.wrapMasterKey(masterKey, newPassword, constants);
|
|
182
181
|
}
|
|
183
182
|
catch (error) {
|
|
184
183
|
throw error;
|
|
@@ -190,19 +189,19 @@ class KeyWrappingService {
|
|
|
190
189
|
/**
|
|
191
190
|
* Wraps arbitrary secret bytes with a password-derived key (AES-256-GCM)
|
|
192
191
|
*/
|
|
193
|
-
wrapSecret(secret, password) {
|
|
194
|
-
if (
|
|
192
|
+
wrapSecret(secret, password, constants = node_ecies_lib_1.Constants) {
|
|
193
|
+
if (constants.PasswordRegex.test(password.value ?? '') === false) {
|
|
195
194
|
throw new errors_1.InvalidNewPasswordError();
|
|
196
195
|
}
|
|
197
|
-
const salt = (0, crypto_1.randomBytes)(
|
|
198
|
-
const iterations =
|
|
199
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
196
|
+
const salt = (0, crypto_1.randomBytes)(constants.WRAPPED_KEY.SALT_SIZE);
|
|
197
|
+
const iterations = constants.WRAPPED_KEY.MIN_ITERATIONS;
|
|
198
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
200
199
|
// Derive key from password using centralized PBKDF2 service
|
|
201
|
-
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, iterations,
|
|
200
|
+
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, iterations, constants.WRAPPED_KEY.SALT_SIZE, 32, // AES-256 key size
|
|
202
201
|
'sha256');
|
|
203
202
|
const passwordKeySecure = new ecies_lib_1.SecureBuffer(derivedKey.hash);
|
|
204
203
|
try {
|
|
205
|
-
const iv = (0, crypto_1.randomBytes)(
|
|
204
|
+
const iv = (0, crypto_1.randomBytes)(constants.WRAPPED_KEY.IV_SIZE);
|
|
206
205
|
const cipher = (0, crypto_1.createCipheriv)('aes-256-gcm', passwordKeySecure.value, iv);
|
|
207
206
|
const encrypted = Buffer.concat([
|
|
208
207
|
cipher.update(secret.value),
|
|
@@ -224,12 +223,12 @@ class KeyWrappingService {
|
|
|
224
223
|
/**
|
|
225
224
|
* Unwraps a password-wrapped secret (sync)
|
|
226
225
|
*/
|
|
227
|
-
unwrapSecret(wrapped, password) {
|
|
226
|
+
unwrapSecret(wrapped, password, constants = node_ecies_lib_1.Constants) {
|
|
228
227
|
const salt = Buffer.from(wrapped.salt, 'hex');
|
|
229
228
|
const iv = Buffer.from(wrapped.iv, 'hex');
|
|
230
229
|
const authTag = Buffer.from(wrapped.authTag, 'hex');
|
|
231
230
|
const encrypted = Buffer.from(wrapped.ciphertext, 'hex');
|
|
232
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
231
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
233
232
|
// Derive key from password using centralized PBKDF2 service
|
|
234
233
|
const derivedKey = pbkdf2Service.deriveKeyFromPassword(Buffer.from(password.valueAsUint8Array), salt, wrapped.iterations, salt.length, // Use actual salt size
|
|
235
234
|
32, // AES-256 key size
|
|
@@ -254,7 +253,7 @@ class KeyWrappingService {
|
|
|
254
253
|
/**
|
|
255
254
|
* Unwraps a password-wrapped secret (async PBKDF2)
|
|
256
255
|
*/
|
|
257
|
-
async unwrapSecretAsync(wrapped, password) {
|
|
256
|
+
async unwrapSecretAsync(wrapped, password, constants = node_ecies_lib_1.Constants) {
|
|
258
257
|
const salt = Buffer.from(wrapped.salt, 'hex');
|
|
259
258
|
const iv = Buffer.from(wrapped.iv, 'hex');
|
|
260
259
|
const authTag = Buffer.from(wrapped.authTag, 'hex');
|
|
@@ -278,7 +277,7 @@ class KeyWrappingService {
|
|
|
278
277
|
if (!pwdBuffer) {
|
|
279
278
|
throw new Error('Failed to create password buffer - password may be invalid');
|
|
280
279
|
}
|
|
281
|
-
const pbkdf2Service = createPbkdf2Service();
|
|
280
|
+
const pbkdf2Service = createPbkdf2Service(constants);
|
|
282
281
|
// Use centralized PBKDF2 service for async key derivation
|
|
283
282
|
const derivedKey = await pbkdf2Service.deriveKeyFromPasswordAsync(Buffer.from(pwdBuffer), salt, wrapped.iterations, salt.length, // Use actual salt size
|
|
284
283
|
32, // AES-256 key size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-wrapping.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/key-wrapping.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key-wrapping.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/key-wrapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
2
|
import { ClientSession, Model } from 'mongoose';
|
|
3
3
|
import { IMnemonicDocument } from '../documents/mnemonic';
|
|
4
|
-
import {
|
|
4
|
+
import { IConstants } from '../interfaces';
|
|
5
5
|
/**
|
|
6
6
|
* Encrypts and stores mnemonics securely, using an HMAC to check for
|
|
7
7
|
* uniqueness without exposing the mnemonic itself.
|
|
8
8
|
*/
|
|
9
9
|
export declare class MnemonicService {
|
|
10
|
-
private readonly keyWrappingService;
|
|
11
10
|
private readonly hmacSecret;
|
|
12
11
|
private readonly MnemonicModel;
|
|
13
|
-
|
|
12
|
+
private readonly constants;
|
|
13
|
+
constructor(mnemonicModel: Model<IMnemonicDocument>, hmacSecret: SecureBuffer, constants: IConstants);
|
|
14
14
|
/**
|
|
15
15
|
* Disposes of the secure secrets held by this service.
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAMxE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAMxE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAGrC,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,EACvC,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,UAAU;IAQvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAOtD;;;;OAIG;IACU,cAAc,CACzB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC;IAQnB;;;;;OAKG;IACU,uBAAuB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;KACpC,CAAC;IA2BF;;;;OAIG;IACU,WAAW,CACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAsBpC;;;;OAIG;IACU,mBAAmB,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMpC;;;OAGG;IAEH;;;;OAIG;IACU,sBAAsB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|