mindoodb 0.0.1 → 0.0.2
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 +5 -5
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +9 -2
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +39 -22
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +8 -2
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +50 -21
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +15 -2
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +52 -27
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/core/BaseMindooDB.d.ts +26 -4
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +632 -253
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +3 -1
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +83 -75
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +3 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +40 -40
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +3 -1
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +18 -12
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +8 -2
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +44 -18
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +3 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +21 -17
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +15 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/types.d.ts +14 -1
- package/dist/core/appendonlystores/types.d.ts.map +1 -1
- package/dist/core/crypto/MindooDocSigner.d.ts +3 -1
- package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
- package/dist/core/crypto/MindooDocSigner.js +9 -5
- package/dist/core/crypto/MindooDocSigner.js.map +1 -1
- package/dist/core/crypto/RSAEncryption.d.ts +3 -1
- package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
- package/dist/core/crypto/RSAEncryption.js +13 -9
- package/dist/core/crypto/RSAEncryption.js.map +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +2 -2
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
- package/dist/core/indexing/virtualviews/index.d.ts +1 -1
- package/dist/core/indexing/virtualviews/index.js +1 -1
- package/dist/core/keys/KeyBag.d.ts +4 -1
- package/dist/core/keys/KeyBag.d.ts.map +1 -1
- package/dist/core/keys/KeyBag.js +10 -5
- package/dist/core/keys/KeyBag.js.map +1 -1
- package/dist/core/logging/LogLevel.d.ts +21 -0
- package/dist/core/logging/LogLevel.d.ts.map +1 -0
- package/dist/core/logging/LogLevel.js +56 -0
- package/dist/core/logging/LogLevel.js.map +1 -0
- package/dist/core/logging/Logger.d.ts +37 -0
- package/dist/core/logging/Logger.d.ts.map +1 -0
- package/dist/core/logging/Logger.js +3 -0
- package/dist/core/logging/Logger.js.map +1 -0
- package/dist/core/logging/MindooLogger.d.ts +28 -0
- package/dist/core/logging/MindooLogger.d.ts.map +1 -0
- package/dist/core/logging/MindooLogger.js +217 -0
- package/dist/core/logging/MindooLogger.js.map +1 -0
- package/dist/core/logging/index.d.ts +4 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +10 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/types.d.ts +96 -28
- package/dist/core/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ const BaseMindooDB_1 = require("./BaseMindooDB");
|
|
|
5
5
|
const BaseMindooTenantDirectory_1 = require("./BaseMindooTenantDirectory");
|
|
6
6
|
const MindooDocSigner_1 = require("./crypto/MindooDocSigner");
|
|
7
7
|
const errors_1 = require("./errors");
|
|
8
|
+
const logging_1 = require("./logging");
|
|
8
9
|
/**
|
|
9
10
|
* BaseMindooTenant is a platform-agnostic implementation of MindooTenant
|
|
10
11
|
* that works in both browser and server environments.
|
|
@@ -20,7 +21,7 @@ const errors_1 = require("./errors");
|
|
|
20
21
|
* - PBKDF2 key derivation (for password-based key derivation)
|
|
21
22
|
*/
|
|
22
23
|
class BaseMindooTenant {
|
|
23
|
-
constructor(factory, tenantId, tenantEncryptionKey, tenantEncryptionKeyPassword, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, storeFactory, cryptoAdapter) {
|
|
24
|
+
constructor(factory, tenantId, tenantEncryptionKey, tenantEncryptionKeyPassword, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, storeFactory, cryptoAdapter, logger) {
|
|
24
25
|
this.databaseCache = new Map();
|
|
25
26
|
this.directoryCache = null;
|
|
26
27
|
this.factory = factory;
|
|
@@ -41,15 +42,19 @@ class BaseMindooTenant {
|
|
|
41
42
|
else {
|
|
42
43
|
this.cryptoAdapter = cryptoAdapter;
|
|
43
44
|
}
|
|
45
|
+
// Create logger if not provided (for backward compatibility)
|
|
46
|
+
this.logger =
|
|
47
|
+
logger ||
|
|
48
|
+
new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `Tenant:${tenantId}`, true);
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
51
|
* Initialize the tenant.
|
|
47
52
|
*/
|
|
48
53
|
async initialize() {
|
|
49
|
-
|
|
54
|
+
this.logger.info(`Initializing tenant ${this.tenantId}`);
|
|
50
55
|
// KeyBag is already loaded by the caller before passing it to the constructor
|
|
51
56
|
const keyCount = (await this.keyBag.listKeys()).length;
|
|
52
|
-
|
|
57
|
+
this.logger.info(`Tenant initialized with ${keyCount} keys in KeyBag`);
|
|
53
58
|
}
|
|
54
59
|
getCryptoAdapter() {
|
|
55
60
|
return this.cryptoAdapter;
|
|
@@ -83,94 +88,94 @@ class BaseMindooTenant {
|
|
|
83
88
|
return this.tenantEncryptionKey;
|
|
84
89
|
}
|
|
85
90
|
async encryptPayload(payload, decryptionKeyId) {
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
this.logger.debug(`Encrypting payload with key: ${decryptionKeyId}`);
|
|
92
|
+
this.logger.debug(`Payload size: ${payload.length} bytes`);
|
|
88
93
|
// Get the symmetric key for this key ID
|
|
89
94
|
let symmetricKey;
|
|
90
95
|
try {
|
|
91
96
|
if (decryptionKeyId === "default") {
|
|
92
|
-
|
|
97
|
+
this.logger.debug(`Using default key (tenant encryption key)`);
|
|
93
98
|
// Use cached tenant encryption key if available
|
|
94
99
|
if (this.decryptedTenantKeyCache) {
|
|
95
100
|
symmetricKey = this.decryptedTenantKeyCache;
|
|
96
|
-
|
|
101
|
+
this.logger.debug(`Using cached tenant key, length: ${symmetricKey.length} bytes`);
|
|
97
102
|
}
|
|
98
103
|
else {
|
|
99
|
-
|
|
104
|
+
this.logger.debug(`Decrypting tenant encryption key`);
|
|
100
105
|
// Decrypt tenant encryption key
|
|
101
106
|
const decrypted = await this.decryptPrivateKey(this.tenantEncryptionKey, this.tenantEncryptionKeyPassword, "default");
|
|
102
107
|
symmetricKey = new Uint8Array(decrypted);
|
|
103
108
|
this.decryptedTenantKeyCache = symmetricKey;
|
|
104
|
-
|
|
109
|
+
this.logger.debug(`Decrypted tenant key, length: ${symmetricKey.length} bytes`);
|
|
105
110
|
}
|
|
106
111
|
}
|
|
107
112
|
else {
|
|
108
|
-
|
|
113
|
+
this.logger.debug(`Getting named key from KeyBag: ${decryptionKeyId}`);
|
|
109
114
|
// Get the decrypted key from KeyBag
|
|
110
115
|
const decryptedKey = await this.keyBag.get(decryptionKeyId);
|
|
111
116
|
if (!decryptedKey) {
|
|
112
117
|
throw new errors_1.SymmetricKeyNotFoundError(decryptionKeyId);
|
|
113
118
|
}
|
|
114
119
|
symmetricKey = decryptedKey;
|
|
115
|
-
|
|
120
|
+
this.logger.debug(`Got named key, length: ${symmetricKey.length} bytes`);
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
catch (error) {
|
|
119
|
-
|
|
124
|
+
this.logger.error(`Error getting symmetric key:`, error);
|
|
120
125
|
throw error;
|
|
121
126
|
}
|
|
122
|
-
|
|
127
|
+
this.logger.debug(`Got symmetric key, length: ${symmetricKey.length} bytes`);
|
|
123
128
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
124
129
|
// Bind getRandomValues to maintain 'this' context
|
|
125
130
|
const randomValues = this.cryptoAdapter.getRandomValues.bind(this.cryptoAdapter);
|
|
126
131
|
// Import the symmetric key
|
|
127
|
-
|
|
132
|
+
this.logger.debug(`Importing symmetric key for AES-GCM`);
|
|
128
133
|
let cryptoKey;
|
|
129
134
|
try {
|
|
130
135
|
// Create a new Uint8Array to ensure we have a proper ArrayBuffer
|
|
131
136
|
const keyArray = new Uint8Array(symmetricKey);
|
|
132
|
-
|
|
137
|
+
this.logger.debug(`Key buffer size: ${keyArray.buffer.byteLength} bytes`);
|
|
133
138
|
cryptoKey = await subtle.importKey("raw", keyArray.buffer, { name: "AES-GCM" }, false, // not extractable
|
|
134
139
|
["encrypt"]);
|
|
135
|
-
|
|
140
|
+
this.logger.debug(`Successfully imported key`);
|
|
136
141
|
}
|
|
137
142
|
catch (error) {
|
|
138
|
-
|
|
139
|
-
|
|
143
|
+
this.logger.error(`Error importing key:`, error);
|
|
144
|
+
this.logger.error(`Key length: ${symmetricKey.length}, expected: 32 bytes for AES-256`);
|
|
140
145
|
throw error;
|
|
141
146
|
}
|
|
142
147
|
// Generate IV (12 bytes for AES-GCM)
|
|
143
|
-
|
|
148
|
+
this.logger.debug(`Generating IV`);
|
|
144
149
|
let iv;
|
|
145
150
|
try {
|
|
146
151
|
const ivArray = new Uint8Array(12);
|
|
147
152
|
randomValues(ivArray);
|
|
148
153
|
iv = new Uint8Array(ivArray.buffer, ivArray.byteOffset, ivArray.byteLength);
|
|
149
|
-
|
|
154
|
+
this.logger.debug(`Generated IV: ${iv.length} bytes`);
|
|
150
155
|
}
|
|
151
156
|
catch (error) {
|
|
152
|
-
|
|
157
|
+
this.logger.error(`Error generating IV:`, error);
|
|
153
158
|
throw error;
|
|
154
159
|
}
|
|
155
160
|
// Encrypt the payload
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
161
|
+
this.logger.debug(`Encrypting payload with AES-GCM`);
|
|
162
|
+
this.logger.debug(`Payload buffer size: ${payload.buffer.byteLength} bytes`);
|
|
163
|
+
this.logger.debug(`Payload byteOffset: ${payload.byteOffset}, byteLength: ${payload.byteLength}`);
|
|
159
164
|
let encrypted;
|
|
160
165
|
try {
|
|
161
166
|
// Create a new Uint8Array to ensure we have a proper ArrayBuffer
|
|
162
167
|
const payloadArray = new Uint8Array(payload);
|
|
163
|
-
|
|
168
|
+
this.logger.debug(`Using payload array: ${payloadArray.length} bytes`);
|
|
164
169
|
encrypted = await subtle.encrypt({
|
|
165
170
|
name: "AES-GCM",
|
|
166
171
|
iv: iv,
|
|
167
172
|
tagLength: 128, // 128-bit authentication tag
|
|
168
173
|
}, cryptoKey, payloadArray);
|
|
169
|
-
|
|
174
|
+
this.logger.debug(`Successfully encrypted payload, encrypted size: ${encrypted.byteLength} bytes`);
|
|
170
175
|
}
|
|
171
176
|
catch (error) {
|
|
172
|
-
|
|
173
|
-
|
|
177
|
+
this.logger.error(`Error encrypting payload:`, error);
|
|
178
|
+
this.logger.error(`Error details:`, {
|
|
174
179
|
errorName: error instanceof Error ? error.name : typeof error,
|
|
175
180
|
errorMessage: error instanceof Error ? error.message : String(error),
|
|
176
181
|
payloadLength: payload.length,
|
|
@@ -181,16 +186,16 @@ class BaseMindooTenant {
|
|
|
181
186
|
}
|
|
182
187
|
// Combine IV and encrypted data
|
|
183
188
|
// Format: IV (12 bytes) + encrypted data (includes authentication tag)
|
|
184
|
-
|
|
189
|
+
this.logger.debug(`Combining IV and encrypted data`);
|
|
185
190
|
const encryptedArray = new Uint8Array(encrypted);
|
|
186
191
|
const result = new Uint8Array(12 + encryptedArray.length);
|
|
187
192
|
result.set(iv, 0);
|
|
188
193
|
result.set(encryptedArray, 12);
|
|
189
|
-
|
|
194
|
+
this.logger.debug(`Encrypted payload (${payload.length} -> ${result.length} bytes)`);
|
|
190
195
|
return result;
|
|
191
196
|
}
|
|
192
197
|
async decryptPayload(encryptedPayload, decryptionKeyId) {
|
|
193
|
-
|
|
198
|
+
this.logger.debug(`Decrypting payload with key: ${decryptionKeyId}`);
|
|
194
199
|
if (encryptedPayload.length < 12) {
|
|
195
200
|
throw new Error("Encrypted payload too short (missing IV)");
|
|
196
201
|
}
|
|
@@ -229,11 +234,11 @@ class BaseMindooTenant {
|
|
|
229
234
|
iv: iv,
|
|
230
235
|
tagLength: 128, // 128-bit authentication tag
|
|
231
236
|
}, cryptoKey, encryptedData.buffer);
|
|
232
|
-
|
|
237
|
+
this.logger.debug(`Decrypted payload (${encryptedPayload.length} -> ${decrypted.byteLength} bytes)`);
|
|
233
238
|
return new Uint8Array(decrypted);
|
|
234
239
|
}
|
|
235
240
|
async signPayload(payload) {
|
|
236
|
-
|
|
241
|
+
this.logger.debug(`Signing payload`);
|
|
237
242
|
// Get the current user's signing private key (decrypted)
|
|
238
243
|
const signingKey = await this.getDecryptedSigningKey();
|
|
239
244
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
@@ -241,11 +246,11 @@ class BaseMindooTenant {
|
|
|
241
246
|
const signature = await subtle.sign({
|
|
242
247
|
name: "Ed25519",
|
|
243
248
|
}, signingKey, payload.buffer);
|
|
244
|
-
|
|
249
|
+
this.logger.debug(`Signed payload (signature: ${signature.byteLength} bytes)`);
|
|
245
250
|
return new Uint8Array(signature);
|
|
246
251
|
}
|
|
247
252
|
async signPayloadWithKey(payload, signingKeyPair, password) {
|
|
248
|
-
|
|
253
|
+
this.logger.debug(`Signing payload with provided key`);
|
|
249
254
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
250
255
|
// Decrypt the provided signing private key
|
|
251
256
|
const decryptedKeyBuffer = await this.decryptPrivateKey(signingKeyPair.privateKey, password, "signing");
|
|
@@ -258,15 +263,15 @@ class BaseMindooTenant {
|
|
|
258
263
|
const signature = await subtle.sign({
|
|
259
264
|
name: "Ed25519",
|
|
260
265
|
}, signingKey, payload.buffer);
|
|
261
|
-
|
|
266
|
+
this.logger.debug(`Signed payload with provided key (signature: ${signature.byteLength} bytes)`);
|
|
262
267
|
return new Uint8Array(signature);
|
|
263
268
|
}
|
|
264
269
|
async verifySignature(payload, signature, publicKey) {
|
|
265
|
-
|
|
270
|
+
this.logger.debug(`Verifying signature`);
|
|
266
271
|
const directory = await this.openDirectory();
|
|
267
272
|
const isTrusted = await directory.validatePublicSigningKey(publicKey);
|
|
268
273
|
if (!isTrusted) {
|
|
269
|
-
|
|
274
|
+
this.logger.warn(`Public key not trusted: ${publicKey}`);
|
|
270
275
|
return false;
|
|
271
276
|
}
|
|
272
277
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
@@ -281,11 +286,11 @@ class BaseMindooTenant {
|
|
|
281
286
|
const isValid = await subtle.verify({
|
|
282
287
|
name: "Ed25519",
|
|
283
288
|
}, cryptoKey, signature.buffer, payload.buffer);
|
|
284
|
-
|
|
289
|
+
this.logger.info(`Signature verification result: ${isValid}`);
|
|
285
290
|
return isValid;
|
|
286
291
|
}
|
|
287
292
|
async validatePublicSigningKey(publicKey) {
|
|
288
|
-
|
|
293
|
+
this.logger.info(`Validating public signing key`);
|
|
289
294
|
// Load the directory database to check if this key belongs to a trusted user
|
|
290
295
|
const directoryDB = await this.openDB("directory");
|
|
291
296
|
// TODO: Query the directory database to check if this public key belongs to a registered,
|
|
@@ -308,7 +313,8 @@ class BaseMindooTenant {
|
|
|
308
313
|
}
|
|
309
314
|
async openDirectory() {
|
|
310
315
|
if (!this.directoryCache) {
|
|
311
|
-
|
|
316
|
+
const directoryLogger = this.logger.createChild("Directory");
|
|
317
|
+
this.directoryCache = new BaseMindooTenantDirectory_1.BaseMindooTenantDirectory(this, directoryLogger);
|
|
312
318
|
}
|
|
313
319
|
return this.directoryCache;
|
|
314
320
|
}
|
|
@@ -331,15 +337,17 @@ class BaseMindooTenant {
|
|
|
331
337
|
const { adminOnlyDb, attachmentConfig, ...storeOptions } = effectiveOptions;
|
|
332
338
|
// Create the database stores using the factory
|
|
333
339
|
const { docStore, attachmentStore } = this.storeFactory.createStore(id, storeOptions);
|
|
334
|
-
const
|
|
340
|
+
const dbLogger = this.logger.createChild("BaseMindooDB");
|
|
341
|
+
const db = new BaseMindooDB_1.BaseMindooDB(this, docStore, attachmentStore, attachmentConfig, adminOnlyDb ?? false, dbLogger);
|
|
335
342
|
await db.initialize();
|
|
336
343
|
// Cache the database for future use
|
|
337
344
|
this.databaseCache.set(id, db);
|
|
338
345
|
return db;
|
|
339
346
|
}
|
|
340
347
|
createDocSignerFor(signKey) {
|
|
341
|
-
|
|
342
|
-
|
|
348
|
+
this.logger.debug(`Creating MindooDocSigner for signing key pair`);
|
|
349
|
+
const signerLogger = this.logger.createChild("MindooDocSigner");
|
|
350
|
+
return new MindooDocSigner_1.MindooDocSigner(this, signKey, signerLogger);
|
|
343
351
|
}
|
|
344
352
|
/**
|
|
345
353
|
* Internal method to get the decrypted signing key for the current user.
|
|
@@ -371,12 +379,12 @@ class BaseMindooTenant {
|
|
|
371
379
|
* @returns The decrypted private key as ArrayBuffer
|
|
372
380
|
*/
|
|
373
381
|
async decryptPrivateKey(encryptedKey, password, saltString) {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
382
|
+
this.logger.debug(`decryptPrivateKey: Starting decryption with saltString: ${saltString}`);
|
|
383
|
+
this.logger.debug(`decryptPrivateKey: Password length: ${password.length}`);
|
|
384
|
+
this.logger.debug(`decryptPrivateKey: EncryptedKey iterations: ${encryptedKey.iterations}`);
|
|
377
385
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
378
386
|
// Decode base64 strings
|
|
379
|
-
|
|
387
|
+
this.logger.debug(`decryptPrivateKey: Decoding base64 strings`);
|
|
380
388
|
let ciphertext;
|
|
381
389
|
let iv;
|
|
382
390
|
let tag;
|
|
@@ -386,33 +394,33 @@ class BaseMindooTenant {
|
|
|
386
394
|
iv = this.base64ToUint8Array(encryptedKey.iv);
|
|
387
395
|
tag = this.base64ToUint8Array(encryptedKey.tag);
|
|
388
396
|
saltBytes = this.base64ToUint8Array(encryptedKey.salt);
|
|
389
|
-
|
|
397
|
+
this.logger.debug(`decryptPrivateKey: Decoded - ciphertext: ${ciphertext.length} bytes, iv: ${iv.length} bytes, tag: ${tag.length} bytes, salt: ${saltBytes.length} bytes`);
|
|
390
398
|
}
|
|
391
399
|
catch (error) {
|
|
392
|
-
|
|
400
|
+
this.logger.error(`decryptPrivateKey: Error decoding base64:`, error);
|
|
393
401
|
throw error;
|
|
394
402
|
}
|
|
395
403
|
// Derive key from password using PBKDF2
|
|
396
404
|
// Combine the stored salt bytes with the salt string for additional security
|
|
397
405
|
// This ensures different key types (signing, encryption, etc.) use different derived keys
|
|
398
406
|
// even if they share the same password
|
|
399
|
-
|
|
407
|
+
this.logger.debug(`decryptPrivateKey: Combining salt with saltString`);
|
|
400
408
|
const saltStringBytes = new TextEncoder().encode(saltString);
|
|
401
409
|
const combinedSalt = new Uint8Array(saltBytes.length + saltStringBytes.length);
|
|
402
410
|
combinedSalt.set(saltBytes);
|
|
403
411
|
combinedSalt.set(saltStringBytes, saltBytes.length);
|
|
404
|
-
|
|
405
|
-
|
|
412
|
+
this.logger.debug(`decryptPrivateKey: Combined salt length: ${combinedSalt.length} bytes`);
|
|
413
|
+
this.logger.debug(`decryptPrivateKey: Importing password key for PBKDF2`);
|
|
406
414
|
let passwordKey;
|
|
407
415
|
try {
|
|
408
416
|
passwordKey = await subtle.importKey("raw", new TextEncoder().encode(password), "PBKDF2", false, ["deriveBits", "deriveKey"]);
|
|
409
|
-
|
|
417
|
+
this.logger.debug(`decryptPrivateKey: Successfully imported password key`);
|
|
410
418
|
}
|
|
411
419
|
catch (error) {
|
|
412
|
-
|
|
420
|
+
this.logger.error(`decryptPrivateKey: Error importing password key:`, error);
|
|
413
421
|
throw error;
|
|
414
422
|
}
|
|
415
|
-
|
|
423
|
+
this.logger.debug(`decryptPrivateKey: Deriving key with PBKDF2 (iterations: ${encryptedKey.iterations})`);
|
|
416
424
|
let derivedKey;
|
|
417
425
|
try {
|
|
418
426
|
derivedKey = await subtle.deriveKey({
|
|
@@ -424,39 +432,39 @@ class BaseMindooTenant {
|
|
|
424
432
|
name: "AES-GCM",
|
|
425
433
|
length: 256,
|
|
426
434
|
}, false, ["decrypt"]);
|
|
427
|
-
|
|
435
|
+
this.logger.debug(`decryptPrivateKey: Successfully derived key`);
|
|
428
436
|
}
|
|
429
437
|
catch (error) {
|
|
430
|
-
|
|
438
|
+
this.logger.error(`decryptPrivateKey: Error deriving key:`, error);
|
|
431
439
|
throw error;
|
|
432
440
|
}
|
|
433
441
|
// Combine ciphertext and tag (GCM authentication tag is separate)
|
|
434
442
|
// AES-GCM expects the tag to be appended to the ciphertext
|
|
435
|
-
|
|
443
|
+
this.logger.debug(`decryptPrivateKey: Combining ciphertext and tag`);
|
|
436
444
|
const encryptedData = new Uint8Array(ciphertext.length + tag.length);
|
|
437
445
|
encryptedData.set(ciphertext);
|
|
438
446
|
encryptedData.set(tag, ciphertext.length);
|
|
439
|
-
|
|
447
|
+
this.logger.debug(`decryptPrivateKey: Combined encrypted data length: ${encryptedData.length} bytes`);
|
|
440
448
|
// Decrypt the private key
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
449
|
+
this.logger.debug(`decryptPrivateKey: Decrypting with AES-GCM`);
|
|
450
|
+
this.logger.debug(`decryptPrivateKey: IV length: ${iv.length} bytes (expected: 12 for AES-GCM)`);
|
|
451
|
+
this.logger.debug(`decryptPrivateKey: Tag length: ${tag.length} bytes (expected: 16 for 128-bit tag)`);
|
|
452
|
+
this.logger.debug(`decryptPrivateKey: Ciphertext length: ${ciphertext.length} bytes`);
|
|
445
453
|
let decrypted;
|
|
446
454
|
try {
|
|
447
455
|
// Create a new ArrayBuffer to ensure we have the correct buffer without any offset issues
|
|
448
456
|
const encryptedBuffer = new Uint8Array(encryptedData).buffer;
|
|
449
|
-
|
|
457
|
+
this.logger.debug(`decryptPrivateKey: Encrypted buffer size: ${encryptedBuffer.byteLength} bytes`);
|
|
450
458
|
decrypted = await subtle.decrypt({
|
|
451
459
|
name: "AES-GCM",
|
|
452
460
|
iv: new Uint8Array(iv), // Create a new Uint8Array to ensure proper buffer
|
|
453
461
|
tagLength: 128,
|
|
454
462
|
}, derivedKey, encryptedBuffer);
|
|
455
|
-
|
|
463
|
+
this.logger.debug(`decryptPrivateKey: Successfully decrypted, result length: ${decrypted.byteLength} bytes`);
|
|
456
464
|
}
|
|
457
465
|
catch (error) {
|
|
458
|
-
|
|
459
|
-
|
|
466
|
+
this.logger.error(`decryptPrivateKey: Error during decryption:`, error);
|
|
467
|
+
this.logger.error(`decryptPrivateKey: Error details:`, {
|
|
460
468
|
errorName: error instanceof Error ? error.name : typeof error,
|
|
461
469
|
errorMessage: error instanceof Error ? error.message : String(error),
|
|
462
470
|
ivLength: iv.length,
|
|
@@ -576,7 +584,7 @@ class BaseMindooTenant {
|
|
|
576
584
|
* @returns The encrypted payload with mode prefix
|
|
577
585
|
*/
|
|
578
586
|
async encryptAttachmentPayload(payload, decryptionKeyId) {
|
|
579
|
-
|
|
587
|
+
this.logger.debug(`Encrypting attachment payload with key: ${decryptionKeyId}`);
|
|
580
588
|
const symmetricKey = await this.getSymmetricKey(decryptionKeyId);
|
|
581
589
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
582
590
|
const randomValues = this.cryptoAdapter.getRandomValues.bind(this.cryptoAdapter);
|
|
@@ -595,13 +603,13 @@ class BaseMindooTenant {
|
|
|
595
603
|
const payloadBuffer = payload.buffer.slice(payload.byteOffset, payload.byteOffset + payload.byteLength);
|
|
596
604
|
const hashBuffer = await subtle.digest("SHA-256", payloadBuffer);
|
|
597
605
|
iv = new Uint8Array(hashBuffer).slice(0, 12);
|
|
598
|
-
|
|
606
|
+
this.logger.debug(`Using deterministic IV derived from content hash`);
|
|
599
607
|
}
|
|
600
608
|
else {
|
|
601
609
|
// Random IV
|
|
602
610
|
iv = new Uint8Array(12);
|
|
603
611
|
randomValues(iv);
|
|
604
|
-
|
|
612
|
+
this.logger.debug(`Using random IV`);
|
|
605
613
|
}
|
|
606
614
|
// Encrypt the payload
|
|
607
615
|
const payloadArray = new Uint8Array(payload);
|
|
@@ -616,7 +624,7 @@ class BaseMindooTenant {
|
|
|
616
624
|
result[0] = mode;
|
|
617
625
|
result.set(iv, 1);
|
|
618
626
|
result.set(encryptedArray, 13);
|
|
619
|
-
|
|
627
|
+
this.logger.debug(`Encrypted attachment (mode=${mode}, ${payload.length} -> ${result.length} bytes)`);
|
|
620
628
|
return result;
|
|
621
629
|
}
|
|
622
630
|
/**
|
|
@@ -628,7 +636,7 @@ class BaseMindooTenant {
|
|
|
628
636
|
* @returns The decrypted plaintext
|
|
629
637
|
*/
|
|
630
638
|
async decryptAttachmentPayload(encryptedPayload, decryptionKeyId) {
|
|
631
|
-
|
|
639
|
+
this.logger.debug(`Decrypting attachment payload with key: ${decryptionKeyId}`);
|
|
632
640
|
if (encryptedPayload.length < 13) {
|
|
633
641
|
throw new Error("Invalid encrypted attachment payload: too short");
|
|
634
642
|
}
|
|
@@ -638,7 +646,7 @@ class BaseMindooTenant {
|
|
|
638
646
|
mode !== BaseMindooTenant.ENCRYPTION_MODE_DETERMINISTIC) {
|
|
639
647
|
throw new Error(`Invalid encryption mode: ${mode}`);
|
|
640
648
|
}
|
|
641
|
-
|
|
649
|
+
this.logger.debug(`Decrypting attachment with mode=${mode}`);
|
|
642
650
|
// Extract IV (bytes 1-12)
|
|
643
651
|
const iv = encryptedPayload.slice(1, 13);
|
|
644
652
|
// Extract ciphertext (bytes 13 onwards)
|
|
@@ -655,7 +663,7 @@ class BaseMindooTenant {
|
|
|
655
663
|
tagLength: 128,
|
|
656
664
|
}, cryptoKey, ciphertext);
|
|
657
665
|
const result = new Uint8Array(decrypted);
|
|
658
|
-
|
|
666
|
+
this.logger.debug(`Decrypted attachment (${encryptedPayload.length} -> ${result.length} bytes)`);
|
|
659
667
|
return result;
|
|
660
668
|
}
|
|
661
669
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EncryptedPrivateKey, MindooDB, MindooDoc, MindooTenantDirectory, PublicUserId } from "./types";
|
|
2
2
|
import { BaseMindooTenant } from "./BaseMindooTenant";
|
|
3
|
+
import { Logger } from "./logging";
|
|
3
4
|
export declare class BaseMindooTenantDirectory implements MindooTenantDirectory {
|
|
4
5
|
private tenant;
|
|
5
6
|
private directoryDB;
|
|
@@ -9,7 +10,8 @@ export declare class BaseMindooTenantDirectory implements MindooTenantDirectory
|
|
|
9
10
|
private dbSettingsCache;
|
|
10
11
|
private groupsCache;
|
|
11
12
|
private unifiedCacheLastCursor;
|
|
12
|
-
|
|
13
|
+
private logger;
|
|
14
|
+
constructor(tenant: BaseMindooTenant, logger?: Logger);
|
|
13
15
|
getDirectoryDB(): Promise<MindooDB>;
|
|
14
16
|
registerUser(userId: PublicUserId, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
15
17
|
findGrantAccessDocuments(username: string): Promise<MindooDoc[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMindooTenantDirectory.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenantDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAgB,qBAAqB,EAAwB,YAAY,EAAuC,MAAM,SAAS,CAAC;AACjL,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseMindooTenantDirectory.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenantDirectory.ts"],"names":[],"mappings":"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"}
|