mindoodb 0.0.51 → 0.0.53
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-server.md +11 -2
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +13 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +45 -20
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +2 -0
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +6 -62
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +24 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +75 -24
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +57 -0
- package/dist/core/BaseMindooDB.d.ts +85 -10
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +687 -196
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +59 -7
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +407 -86
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +61 -9
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +363 -35
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +17 -1
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +286 -17
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts +68 -1
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.js +157 -4
- package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.js +14 -5
- package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
- package/dist/core/accesscontrol/grantKeys.d.ts +17 -14
- package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -1
- package/dist/core/accesscontrol/grantKeys.js +51 -21
- package/dist/core/accesscontrol/grantKeys.js.map +1 -1
- package/dist/core/accesscontrol/types.d.ts +2 -1
- package/dist/core/accesscontrol/types.d.ts.map +1 -1
- package/dist/core/accesscontrol/types.js +3 -2
- package/dist/core/accesscontrol/types.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +7 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +70 -14
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/entryWireCodec.d.ts +51 -0
- package/dist/core/appendonlystores/network/entryWireCodec.d.ts.map +1 -0
- package/dist/core/appendonlystores/network/entryWireCodec.js +93 -0
- package/dist/core/appendonlystores/network/entryWireCodec.js.map +1 -0
- package/dist/core/builtinDbInvariants.d.ts +53 -0
- package/dist/core/builtinDbInvariants.d.ts.map +1 -0
- package/dist/core/builtinDbInvariants.js +147 -0
- package/dist/core/builtinDbInvariants.js.map +1 -0
- package/dist/core/copy/feasibility.d.ts.map +1 -1
- package/dist/core/copy/feasibility.js +3 -0
- package/dist/core/copy/feasibility.js.map +1 -1
- package/dist/core/copy/flatten.d.ts.map +1 -1
- package/dist/core/copy/flatten.js +6 -1
- package/dist/core/copy/flatten.js.map +1 -1
- package/dist/core/copy/host.d.ts +5 -0
- package/dist/core/copy/host.d.ts.map +1 -1
- package/dist/core/copy/preflight.d.ts.map +1 -1
- package/dist/core/copy/preflight.js +7 -1
- package/dist/core/copy/preflight.js.map +1 -1
- package/dist/core/copy/types.d.ts +7 -0
- package/dist/core/copy/types.d.ts.map +1 -1
- package/dist/core/crypto/EntrySignature.d.ts +8 -2
- package/dist/core/crypto/EntrySignature.d.ts.map +1 -1
- package/dist/core/crypto/EntrySignature.js +14 -5
- package/dist/core/crypto/EntrySignature.js.map +1 -1
- package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
- package/dist/core/crypto/MindooDocSigner.js +11 -2
- package/dist/core/crypto/MindooDocSigner.js.map +1 -1
- package/dist/core/crypto/RSAEncryption.d.ts +19 -0
- package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
- package/dist/core/crypto/RSAEncryption.js +36 -3
- package/dist/core/crypto/RSAEncryption.js.map +1 -1
- package/dist/core/crypto/privateKeyEncryption.js +1 -1
- package/dist/core/crypto/privateKeyEncryption.js.map +1 -1
- package/dist/core/crypto/rsaOaep3072.d.ts +12 -0
- package/dist/core/crypto/rsaOaep3072.d.ts.map +1 -0
- package/dist/core/crypto/rsaOaep3072.js +30 -0
- package/dist/core/crypto/rsaOaep3072.js.map +1 -0
- package/dist/core/index.d.ts +7 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +30 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/join/deviceJoinBootstrap.d.ts +23 -0
- package/dist/core/join/deviceJoinBootstrap.d.ts.map +1 -0
- package/dist/core/join/deviceJoinBootstrap.js +37 -0
- package/dist/core/join/deviceJoinBootstrap.js.map +1 -0
- package/dist/core/keys/KeyBag.d.ts +20 -2
- package/dist/core/keys/KeyBag.d.ts.map +1 -1
- package/dist/core/keys/KeyBag.js +22 -10
- package/dist/core/keys/KeyBag.js.map +1 -1
- package/dist/core/logging/MindooLogger.d.ts.map +1 -1
- package/dist/core/logging/MindooLogger.js +65 -40
- package/dist/core/logging/MindooLogger.js.map +1 -1
- package/dist/core/tenantIdValidation.d.ts.map +1 -1
- package/dist/core/tenantIdValidation.js +1 -1
- package/dist/core/tenantIdValidation.js.map +1 -1
- package/dist/core/tenantSetup.d.ts +94 -9
- package/dist/core/tenantSetup.d.ts.map +1 -1
- package/dist/core/tenantSetup.js +208 -20
- package/dist/core/tenantSetup.js.map +1 -1
- package/dist/core/types.d.ts +295 -33
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +14 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/joinRequestUri.d.ts.map +1 -1
- package/dist/core/uri/joinRequestUri.js +12 -3
- package/dist/core/uri/joinRequestUri.js.map +1 -1
- package/dist/core/userid/canonicalUsername.d.ts +66 -0
- package/dist/core/userid/canonicalUsername.d.ts.map +1 -0
- package/dist/core/userid/canonicalUsername.js +235 -0
- package/dist/core/userid/canonicalUsername.js.map +1 -0
- package/dist/core/userid/index.d.ts +9 -0
- package/dist/core/userid/index.d.ts.map +1 -1
- package/dist/core/userid/index.js +14 -0
- package/dist/core/userid/index.js.map +1 -1
- package/dist/core/userkeys/UserKeyDocument.d.ts +50 -0
- package/dist/core/userkeys/UserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/UserKeyDocument.js +145 -0
- package/dist/core/userkeys/UserKeyDocument.js.map +1 -0
- package/dist/core/userkeys/UserKeyManager.d.ts +170 -0
- package/dist/core/userkeys/UserKeyManager.d.ts.map +1 -0
- package/dist/core/userkeys/UserKeyManager.js +1277 -0
- package/dist/core/userkeys/UserKeyManager.js.map +1 -0
- package/dist/core/userkeys/fingerprint.d.ts +17 -0
- package/dist/core/userkeys/fingerprint.d.ts.map +1 -0
- package/dist/core/userkeys/fingerprint.js +59 -0
- package/dist/core/userkeys/fingerprint.js.map +1 -0
- package/dist/core/userkeys/index.d.ts +11 -0
- package/dist/core/userkeys/index.d.ts.map +1 -0
- package/dist/core/userkeys/index.js +49 -0
- package/dist/core/userkeys/index.js.map +1 -0
- package/dist/core/userkeys/recipients.d.ts +51 -0
- package/dist/core/userkeys/recipients.d.ts.map +1 -0
- package/dist/core/userkeys/recipients.js +292 -0
- package/dist/core/userkeys/recipients.js.map +1 -0
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts +21 -0
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/resolveUserKeyDocument.js +98 -0
- package/dist/core/userkeys/resolveUserKeyDocument.js.map +1 -0
- package/dist/core/userkeys/sealedCrypto.d.ts +21 -0
- package/dist/core/userkeys/sealedCrypto.d.ts.map +1 -0
- package/dist/core/userkeys/sealedCrypto.js +79 -0
- package/dist/core/userkeys/sealedCrypto.js.map +1 -0
- package/dist/core/userkeys/sealedTypes.d.ts +72 -0
- package/dist/core/userkeys/sealedTypes.d.ts.map +1 -0
- package/dist/core/userkeys/sealedTypes.js +14 -0
- package/dist/core/userkeys/sealedTypes.js.map +1 -0
- package/dist/core/userkeys/types.d.ts +70 -0
- package/dist/core/userkeys/types.d.ts.map +1 -0
- package/dist/core/userkeys/types.js +48 -0
- package/dist/core/userkeys/types.js.map +1 -0
- package/dist/core/userkeys/validateUserKeyDocument.d.ts +19 -0
- package/dist/core/userkeys/validateUserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/validateUserKeyDocument.js +42 -0
- package/dist/core/userkeys/validateUserKeyDocument.js.map +1 -0
- package/dist/node/server/CapabilityMatcher.d.ts +5 -0
- package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
- package/dist/node/server/CapabilityMatcher.js +10 -1
- package/dist/node/server/CapabilityMatcher.js.map +1 -1
- package/dist/node/server/DeviceDiscoveryService.d.ts +36 -0
- package/dist/node/server/DeviceDiscoveryService.d.ts.map +1 -0
- package/dist/node/server/DeviceDiscoveryService.js +165 -0
- package/dist/node/server/DeviceDiscoveryService.js.map +1 -0
- package/dist/node/server/MindooDBServer.d.ts +13 -0
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +99 -61
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/SystemAdminAuth.d.ts +7 -0
- package/dist/node/server/SystemAdminAuth.d.ts.map +1 -1
- package/dist/node/server/SystemAdminAuth.js +4 -1
- package/dist/node/server/SystemAdminAuth.js.map +1 -1
- package/dist/node/server/TenantManager.d.ts +29 -0
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +146 -7
- package/dist/node/server/TenantManager.js.map +1 -1
- package/package.json +5 -5
|
@@ -52,6 +52,16 @@ export declare class RSAEncryption {
|
|
|
52
52
|
* @returns The decrypted data
|
|
53
53
|
*/
|
|
54
54
|
decrypt(encryptedData: Uint8Array, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
55
|
+
/**
|
|
56
|
+
* Hybrid-encrypt `data` and return standard base64. Used for small JSON
|
|
57
|
+
* payloads that must stay opaque to anyone without the RSA private key
|
|
58
|
+
* (e.g. the per-device join bootstrap on a `$publicinfos` grant).
|
|
59
|
+
*/
|
|
60
|
+
encryptToBase64(data: Uint8Array, publicKey: CryptoKey | string): Promise<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Decrypt a blob previously produced by {@link encryptToBase64}.
|
|
63
|
+
*/
|
|
64
|
+
decryptFromBase64(wrapped: string, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
55
65
|
/**
|
|
56
66
|
* Wrap a small secret (e.g. a 32-byte AES session key) directly with
|
|
57
67
|
* RSA-OAEP. Unlike {@link encrypt}, no hybrid framing is added — the
|
|
@@ -59,6 +69,15 @@ export declare class RSAEncryption {
|
|
|
59
69
|
* transport format, where one wrapped key covers a whole entry batch.
|
|
60
70
|
*/
|
|
61
71
|
wrapKey(rawKey: Uint8Array, publicKey: CryptoKey | string): Promise<Uint8Array>;
|
|
72
|
+
/**
|
|
73
|
+
* Wrap a small secret to a base64 RSA-OAEP ciphertext.
|
|
74
|
+
* Convenience wrapper around {@link wrapKey} for URI/JSON payloads.
|
|
75
|
+
*/
|
|
76
|
+
wrapKeyToBase64(rawKey: Uint8Array, publicKey: CryptoKey | string): Promise<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Unwrap a secret previously wrapped with {@link wrapKeyToBase64}.
|
|
79
|
+
*/
|
|
80
|
+
unwrapKeyFromBase64(wrappedKey: string, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
62
81
|
/**
|
|
63
82
|
* Unwrap a secret previously wrapped with {@link wrapKey}.
|
|
64
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RSAEncryption.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IAOzD;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BzD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B1D;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RSAEncryption.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IAOzD;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BzD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B1D;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;IA2EtB;;;;;;;;;OASG;IACG,OAAO,CACX,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAgDtB;;;;OAIG;IACG,eAAe,CACnB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;OAKG;IACG,OAAO,CACX,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;IAatB;;;OAGG;IACG,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAItB;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAatB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
|
|
@@ -91,12 +91,18 @@ class RSAEncryption {
|
|
|
91
91
|
const aesKey = this.cryptoAdapter.getRandomValues(new Uint8Array(32));
|
|
92
92
|
// Generate a random 96-bit IV for AES-GCM
|
|
93
93
|
const iv = this.cryptoAdapter.getRandomValues(new Uint8Array(12));
|
|
94
|
+
// Copy views so WebCrypto never encrypts a shared backing store
|
|
95
|
+
// (Automerge/WASM heaps, Node Buffer pools). Pass the Uint8Array itself
|
|
96
|
+
// — `.buffer` can be a pooled/shared ArrayBuffer larger than the view.
|
|
97
|
+
const aesKeyBytes = aesKey.slice();
|
|
98
|
+
const ivBytes = iv.slice();
|
|
99
|
+
const plaintext = data.slice();
|
|
94
100
|
// Import the AES key
|
|
95
|
-
const aesKeyObj = await subtle.importKey("raw",
|
|
101
|
+
const aesKeyObj = await subtle.importKey("raw", aesKeyBytes, { name: "AES-GCM", length: 256 }, false, ["encrypt"]);
|
|
96
102
|
// Encrypt the data with AES-GCM
|
|
97
|
-
const encryptedData = await subtle.encrypt({ name: "AES-GCM", iv:
|
|
103
|
+
const encryptedData = await subtle.encrypt({ name: "AES-GCM", iv: ivBytes }, aesKeyObj, plaintext);
|
|
98
104
|
// Encrypt the AES key with RSA-OAEP
|
|
99
|
-
const encryptedKey = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey,
|
|
105
|
+
const encryptedKey = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey, aesKeyBytes);
|
|
100
106
|
// Pack the result: [encryptedKeyLength (2 bytes)][encryptedKey][iv][encryptedData]
|
|
101
107
|
const encryptedKeyBytes = new Uint8Array(encryptedKey);
|
|
102
108
|
const encryptedDataBytes = new Uint8Array(encryptedData);
|
|
@@ -145,6 +151,20 @@ class RSAEncryption {
|
|
|
145
151
|
this.logger.debug(`Decrypted to ${result.length} bytes`);
|
|
146
152
|
return result;
|
|
147
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Hybrid-encrypt `data` and return standard base64. Used for small JSON
|
|
156
|
+
* payloads that must stay opaque to anyone without the RSA private key
|
|
157
|
+
* (e.g. the per-device join bootstrap on a `$publicinfos` grant).
|
|
158
|
+
*/
|
|
159
|
+
async encryptToBase64(data, publicKey) {
|
|
160
|
+
return this.uint8ArrayToBase64(await this.encrypt(data, publicKey));
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Decrypt a blob previously produced by {@link encryptToBase64}.
|
|
164
|
+
*/
|
|
165
|
+
async decryptFromBase64(wrapped, privateKey) {
|
|
166
|
+
return this.decrypt(this.base64ToUint8Array(wrapped), privateKey);
|
|
167
|
+
}
|
|
148
168
|
/**
|
|
149
169
|
* Wrap a small secret (e.g. a 32-byte AES session key) directly with
|
|
150
170
|
* RSA-OAEP. Unlike {@link encrypt}, no hybrid framing is added — the
|
|
@@ -159,6 +179,19 @@ class RSAEncryption {
|
|
|
159
179
|
const wrapped = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey, rawKey.buffer.slice(rawKey.byteOffset, rawKey.byteOffset + rawKey.byteLength));
|
|
160
180
|
return new Uint8Array(wrapped);
|
|
161
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Wrap a small secret to a base64 RSA-OAEP ciphertext.
|
|
184
|
+
* Convenience wrapper around {@link wrapKey} for URI/JSON payloads.
|
|
185
|
+
*/
|
|
186
|
+
async wrapKeyToBase64(rawKey, publicKey) {
|
|
187
|
+
return this.uint8ArrayToBase64(await this.wrapKey(rawKey, publicKey));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Unwrap a secret previously wrapped with {@link wrapKeyToBase64}.
|
|
191
|
+
*/
|
|
192
|
+
async unwrapKeyFromBase64(wrappedKey, privateKey) {
|
|
193
|
+
return this.unwrapKey(this.base64ToUint8Array(wrappedKey), privateKey);
|
|
194
|
+
}
|
|
162
195
|
/**
|
|
163
196
|
* Unwrap a secret previously wrapped with {@link wrapKey}.
|
|
164
197
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RSAEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RSAEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ async function encryptPrivateKey(cryptoAdapter, privateKeyBytes, password, saltS
|
|
|
51
51
|
name: "AES-GCM",
|
|
52
52
|
iv,
|
|
53
53
|
tagLength: 128,
|
|
54
|
-
}, derivedKey, privateKeyBytes.
|
|
54
|
+
}, derivedKey, privateKeyBytes.slice());
|
|
55
55
|
const encryptedArray = new Uint8Array(encrypted);
|
|
56
56
|
const tagLength = 16;
|
|
57
57
|
const ciphertext = encryptedArray.slice(0, encryptedArray.length - tagLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privateKeyEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/privateKeyEncryption.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"privateKeyEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/privateKeyEncryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CryptoAdapter } from "./CryptoAdapter";
|
|
2
|
+
/**
|
|
3
|
+
* RSA-OAEP 3072 generation used for both device encryption keys and User-Keys.
|
|
4
|
+
* Extracted from {@link BaseMindooTenantFactory.createEncryptionKeyPair} so the
|
|
5
|
+
* userkeys module can mint the same material without depending on the factory.
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateRsaOaep3072(cryptoAdapter: CryptoAdapter): Promise<{
|
|
8
|
+
publicKeyPem: string;
|
|
9
|
+
privateKeyBytes: Uint8Array;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function importRsaOaepPrivateKey(cryptoAdapter: CryptoAdapter, pkcs8: Uint8Array, extractable?: boolean): Promise<CryptoKey>;
|
|
12
|
+
//# sourceMappingURL=rsaOaep3072.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsaOaep3072.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/rsaOaep3072.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,UAAU,CAAA;CAAE,CAAC,CAkBhE;AAED,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,UAAU,EACjB,WAAW,UAAQ,GAClB,OAAO,CAAC,SAAS,CAAC,CASpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRsaOaep3072 = generateRsaOaep3072;
|
|
4
|
+
exports.importRsaOaepPrivateKey = importRsaOaepPrivateKey;
|
|
5
|
+
const fingerprint_1 = require("../userkeys/fingerprint");
|
|
6
|
+
/**
|
|
7
|
+
* RSA-OAEP 3072 generation used for both device encryption keys and User-Keys.
|
|
8
|
+
* Extracted from {@link BaseMindooTenantFactory.createEncryptionKeyPair} so the
|
|
9
|
+
* userkeys module can mint the same material without depending on the factory.
|
|
10
|
+
*/
|
|
11
|
+
async function generateRsaOaep3072(cryptoAdapter) {
|
|
12
|
+
const subtle = cryptoAdapter.getSubtle();
|
|
13
|
+
const keyPair = await subtle.generateKey({
|
|
14
|
+
name: "RSA-OAEP",
|
|
15
|
+
modulusLength: 3072,
|
|
16
|
+
publicExponent: new Uint8Array([1, 0, 1]),
|
|
17
|
+
hash: "SHA-256",
|
|
18
|
+
}, true, ["encrypt", "decrypt"]);
|
|
19
|
+
const publicKeyBuffer = await subtle.exportKey("spki", keyPair.publicKey);
|
|
20
|
+
const privateKeyBuffer = await subtle.exportKey("pkcs8", keyPair.privateKey);
|
|
21
|
+
return {
|
|
22
|
+
publicKeyPem: (0, fingerprint_1.spkiToPem)(publicKeyBuffer),
|
|
23
|
+
privateKeyBytes: new Uint8Array(privateKeyBuffer),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
async function importRsaOaepPrivateKey(cryptoAdapter, pkcs8, extractable = false) {
|
|
27
|
+
const bytes = pkcs8.slice();
|
|
28
|
+
return cryptoAdapter.getSubtle().importKey("pkcs8", bytes, { name: "RSA-OAEP", hash: "SHA-256" }, extractable, ["decrypt"]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rsaOaep3072.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsaOaep3072.js","sourceRoot":"","sources":["../../../src/core/crypto/rsaOaep3072.ts"],"names":[],"mappings":";;AAQA,kDAoBC;AAED,0DAaC;AA1CD,yDAAoD;AAEpD;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,aAA4B;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CACtC;QACE,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,EAAE,SAAS;KAChB,EACD,IAAI,EACJ,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO;QACL,YAAY,EAAE,IAAA,uBAAS,EAAC,eAAe,CAAC;QACxC,eAAe,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC;KAClD,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,aAA4B,EAC5B,KAAiB,EACjB,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CACxC,OAAO,EACP,KAAK,EACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EACrC,WAAW,EACX,CAAC,SAAS,CAAC,CACZ,CAAC;AACJ,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export * from "./databaseIdValidation";
|
|
3
|
+
export { evaluateBuiltinWrite, hasBuiltinWriteInvariant, shouldSkipLoadedEntry, entryTypeToBuiltinOp, usernameHashFromCreateChangeBytes, type BuiltinWriteOp, type BuiltinWriteInput, type BuiltinWriteDecision, } from "./builtinDbInvariants";
|
|
4
|
+
export * from "./userkeys";
|
|
3
5
|
export * from "./tenantIdValidation";
|
|
4
|
-
export { readTenantSetupLabel, writeTenantSetupLabel } from "./tenantSetup";
|
|
5
|
-
export type { TenantSetupData } from "./tenantSetup";
|
|
6
|
+
export { readTenantSetupLabel, writeTenantSetupLabel, readTenantSetupAdministrators, writeTenantSetupAdministrator, ensureTenantSetupAdministrator, } from "./tenantSetup";
|
|
7
|
+
export type { TenantSetupData, TenantAdministrator, TenantAdministratorData, } from "./tenantSetup";
|
|
6
8
|
export { ACCESS_CONTROL_FORM, ACL_DEFAULT_POLICY_DOC_ID, DEFAULT_POLICY_DEFAULTS, RULE_TYPES, RULE_TYPE_TO_DENY_FIELD, effectivePolicy, aclDbPolicyDocId, aclRuleDocId, aclTrustedWitnessDocId, encodeAclIdComponent, decodeAclIdComponent, aclKeyDistributionDocId, isKeyDistributionDocId, validateKeyDistribution, KEY_DISTRIBUTION_TYPE, ACL_KEY_DISTRIBUTION_PREFIX, PROTECTED_DISTRIBUTION_KEY_IDS, aclAppDistributionDocId, isAppDistributionDocId, validateAppDistribution, APP_DISTRIBUTION_TYPE, ACL_APP_DISTRIBUTION_PREFIX, aclSyncSetupPolicyDocId, isSyncSetupPolicyDocId, validateSyncSetupPolicy, SYNC_SETUP_POLICY_TYPE, SYNC_SETUP_POLICY_MODES, ACL_SYNC_SETUP_POLICY_PREFIX, aclDocHistoryPurgeDocId, isDocHistoryPurgeDocId, validateDocHistoryPurge, DOC_HISTORY_PURGE_TYPE, ACL_DOC_HISTORY_PURGE_PREFIX, type RuleType, type Operator, type WithFieldWhen, type WithFieldClause, type DefaultAccessPolicyDoc, type AclRuleDoc, type RuleTargets, type TrustedWitnessDoc, type AccessTier, type AccessDecision, type KeyVersionRef, type DeviceWrappedVersions, type KeyDistributionDoc, type KeyDistributionRequest, type KeyDistributionPushRecipient, type KeyDistributionView, type AppDistributionDoc, type AppDistributionRequest, type AppDistributionView, type AppDistributionInstall, type AppDistributionReconcilePlan, type SyncSetupPolicyDoc, type SyncSetupPolicyRequest, type SyncSetupPolicyView, type SyncSetupPolicyMode, type SyncSetupPolicyDatabase, type SyncSetupPolicyReconcilePlan, type DocHistoryPurgeDoc, type DocHistoryPurgeRequest, type DocHistoryPurgeView, } from "./accesscontrol/types";
|
|
7
|
-
export { createGenesisNode, nodeCovering, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
|
|
9
|
+
export { createGenesisNode, nodeCovering, isSamePerson, grantForSigningKey, signingKeysEqual, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
|
|
8
10
|
export { AccessDeniedError } from "./accesscontrol/AccessDeniedError";
|
|
9
11
|
export type { PublicUserId, PrivateUserId } from "./userid";
|
|
12
|
+
export { abbreviateCanonicalName, buildCanonicalName, canonicalizeUsername, expandAbbreviatedName, formatCanonicalDisplayName, formatCanonicalUsernameLabel, getCanonicalNameVariants, isCanonicalName, normalizeCanonicalNameForComparison, parseCanonicalName, sanitizeCanonicalNamePart, usernamesEqual, } from "./userid";
|
|
13
|
+
export type { CanonicalNameParts } from "./userid";
|
|
10
14
|
export { BaseMindooDB } from "./BaseMindooDB";
|
|
11
15
|
export { BaseMindooTenant } from "./BaseMindooTenant";
|
|
12
16
|
export { BaseMindooTenantFactory } from "./BaseMindooTenantFactory";
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -15,17 +15,27 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = void 0;
|
|
18
|
+
exports.abbreviateCanonicalName = exports.AccessDeniedError = exports.signingKeysEqual = exports.grantForSigningKey = exports.isSamePerson = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = exports.ensureTenantSetupAdministrator = exports.writeTenantSetupAdministrator = exports.readTenantSetupAdministrators = exports.writeTenantSetupLabel = exports.readTenantSetupLabel = exports.usernameHashFromCreateChangeBytes = exports.entryTypeToBuiltinOp = exports.shouldSkipLoadedEntry = exports.hasBuiltinWriteInvariant = exports.evaluateBuiltinWrite = void 0;
|
|
19
|
+
exports.buildDocHistoryPurgeRequest = exports.verifyEntryProvenance = exports.requestTimestampWithFallback = exports.requestTimestampViaProxy = exports.requestTimestampDirect = exports.TimestampRequestError = exports.TIMESTAMP_REPLY_CONTENT_TYPE = exports.TIMESTAMP_QUERY_CONTENT_TYPE = exports.MAX_TIMESTAMP_RESPONSE_BYTES = exports.DEFAULT_TIMESTAMP_TIMEOUT_MS = exports.BROWSER_REACHABLE_TSA = exports.SIGNING_DOMAINS = exports.MAX_DOMAIN_STATEMENT_BYTES = exports.InvalidSigningDomainError = exports.isAllowedSigningDomain = exports.buildDomainStatementBytes = exports.assertAllowedSigningDomain = exports.isProvisional = exports.entryTrustedTime = exports.WITNESS_RECEIPT_LAYOUT_VERSION = exports.witnessFieldsFromEntry = exports.verifyWitnessReceipt = exports.buildWitnessSigningBytes = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = exports.bytesToBase64 = exports.base64ToBytes = exports.verifyEntrySignatureWithImportedKey = exports.verifyEntrySignatureCrypto = exports.importEd25519PublicKeyFromPem = exports.entrySignatureFieldsFromEntry = exports.buildEntrySigningBytes = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.usernamesEqual = exports.sanitizeCanonicalNamePart = exports.parseCanonicalName = exports.normalizeCanonicalNameForComparison = exports.isCanonicalName = exports.getCanonicalNameVariants = exports.formatCanonicalUsernameLabel = exports.formatCanonicalDisplayName = exports.expandAbbreviatedName = exports.canonicalizeUsername = exports.buildCanonicalName = void 0;
|
|
20
|
+
exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.createQuantizedTimeSource = exports.setSemanticTimeSourceForTesting = exports.semanticNow = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateUniqueAttachmentChunkId = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.matchesDocIdPrefix = exports.generateTenantId = exports.generateDocId = exports.OBJECT_ID_LENGTH = exports.generateObjectId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.normalizeJoinRequestPayload = exports.decodeJoinRequestUri = exports.encodeJoinRequestUri = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = void 0;
|
|
21
|
+
exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = void 0;
|
|
22
22
|
// Types
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
24
|
__exportStar(require("./databaseIdValidation"), exports);
|
|
25
|
+
var builtinDbInvariants_1 = require("./builtinDbInvariants");
|
|
26
|
+
Object.defineProperty(exports, "evaluateBuiltinWrite", { enumerable: true, get: function () { return builtinDbInvariants_1.evaluateBuiltinWrite; } });
|
|
27
|
+
Object.defineProperty(exports, "hasBuiltinWriteInvariant", { enumerable: true, get: function () { return builtinDbInvariants_1.hasBuiltinWriteInvariant; } });
|
|
28
|
+
Object.defineProperty(exports, "shouldSkipLoadedEntry", { enumerable: true, get: function () { return builtinDbInvariants_1.shouldSkipLoadedEntry; } });
|
|
29
|
+
Object.defineProperty(exports, "entryTypeToBuiltinOp", { enumerable: true, get: function () { return builtinDbInvariants_1.entryTypeToBuiltinOp; } });
|
|
30
|
+
Object.defineProperty(exports, "usernameHashFromCreateChangeBytes", { enumerable: true, get: function () { return builtinDbInvariants_1.usernameHashFromCreateChangeBytes; } });
|
|
31
|
+
__exportStar(require("./userkeys"), exports);
|
|
25
32
|
__exportStar(require("./tenantIdValidation"), exports);
|
|
26
33
|
var tenantSetup_1 = require("./tenantSetup");
|
|
27
34
|
Object.defineProperty(exports, "readTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupLabel; } });
|
|
28
35
|
Object.defineProperty(exports, "writeTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupLabel; } });
|
|
36
|
+
Object.defineProperty(exports, "readTenantSetupAdministrators", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupAdministrators; } });
|
|
37
|
+
Object.defineProperty(exports, "writeTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupAdministrator; } });
|
|
38
|
+
Object.defineProperty(exports, "ensureTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.ensureTenantSetupAdministrator; } });
|
|
29
39
|
// Access-control directory schema + time-travel state (docs/accesscontrol.md
|
|
30
40
|
// §6/§8). Surfaced so consumers (e.g. the Haven directory-history UI) can read
|
|
31
41
|
// the time-travel DirectoryStateNode returned by
|
|
@@ -67,8 +77,24 @@ Object.defineProperty(exports, "ACL_DOC_HISTORY_PURGE_PREFIX", { enumerable: tru
|
|
|
67
77
|
var DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
|
|
68
78
|
Object.defineProperty(exports, "createGenesisNode", { enumerable: true, get: function () { return DirectoryStateNode_1.createGenesisNode; } });
|
|
69
79
|
Object.defineProperty(exports, "nodeCovering", { enumerable: true, get: function () { return DirectoryStateNode_1.nodeCovering; } });
|
|
80
|
+
Object.defineProperty(exports, "isSamePerson", { enumerable: true, get: function () { return DirectoryStateNode_1.isSamePerson; } });
|
|
81
|
+
Object.defineProperty(exports, "grantForSigningKey", { enumerable: true, get: function () { return DirectoryStateNode_1.grantForSigningKey; } });
|
|
82
|
+
Object.defineProperty(exports, "signingKeysEqual", { enumerable: true, get: function () { return DirectoryStateNode_1.signingKeysEqual; } });
|
|
70
83
|
var AccessDeniedError_1 = require("./accesscontrol/AccessDeniedError");
|
|
71
84
|
Object.defineProperty(exports, "AccessDeniedError", { enumerable: true, get: function () { return AccessDeniedError_1.AccessDeniedError; } });
|
|
85
|
+
var userid_1 = require("./userid");
|
|
86
|
+
Object.defineProperty(exports, "abbreviateCanonicalName", { enumerable: true, get: function () { return userid_1.abbreviateCanonicalName; } });
|
|
87
|
+
Object.defineProperty(exports, "buildCanonicalName", { enumerable: true, get: function () { return userid_1.buildCanonicalName; } });
|
|
88
|
+
Object.defineProperty(exports, "canonicalizeUsername", { enumerable: true, get: function () { return userid_1.canonicalizeUsername; } });
|
|
89
|
+
Object.defineProperty(exports, "expandAbbreviatedName", { enumerable: true, get: function () { return userid_1.expandAbbreviatedName; } });
|
|
90
|
+
Object.defineProperty(exports, "formatCanonicalDisplayName", { enumerable: true, get: function () { return userid_1.formatCanonicalDisplayName; } });
|
|
91
|
+
Object.defineProperty(exports, "formatCanonicalUsernameLabel", { enumerable: true, get: function () { return userid_1.formatCanonicalUsernameLabel; } });
|
|
92
|
+
Object.defineProperty(exports, "getCanonicalNameVariants", { enumerable: true, get: function () { return userid_1.getCanonicalNameVariants; } });
|
|
93
|
+
Object.defineProperty(exports, "isCanonicalName", { enumerable: true, get: function () { return userid_1.isCanonicalName; } });
|
|
94
|
+
Object.defineProperty(exports, "normalizeCanonicalNameForComparison", { enumerable: true, get: function () { return userid_1.normalizeCanonicalNameForComparison; } });
|
|
95
|
+
Object.defineProperty(exports, "parseCanonicalName", { enumerable: true, get: function () { return userid_1.parseCanonicalName; } });
|
|
96
|
+
Object.defineProperty(exports, "sanitizeCanonicalNamePart", { enumerable: true, get: function () { return userid_1.sanitizeCanonicalNamePart; } });
|
|
97
|
+
Object.defineProperty(exports, "usernamesEqual", { enumerable: true, get: function () { return userid_1.usernamesEqual; } });
|
|
72
98
|
// Base classes
|
|
73
99
|
var BaseMindooDB_1 = require("./BaseMindooDB");
|
|
74
100
|
Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,QAAQ;AACR,0CAAwB;AACxB,yDAAuC;AACvC,uDAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RSAEncryption } from "../crypto/RSAEncryption";
|
|
2
|
+
/**
|
|
3
|
+
* Discovery-usable slice of a join response: the registered username (plus the
|
|
4
|
+
* optional tenant label and admin name) RSA-hybrid-encrypted to one granted
|
|
5
|
+
* device.
|
|
6
|
+
*
|
|
7
|
+
* Stored on that device's `userKeyPairs[]` entry in the `$publicinfos` grant
|
|
8
|
+
* so the server can forward the ciphertext during device discovery without
|
|
9
|
+
* ever seeing the cleartext name.
|
|
10
|
+
*/
|
|
11
|
+
export interface DeviceJoinBootstrap {
|
|
12
|
+
username: string;
|
|
13
|
+
tenantLabel?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Display name of the approving admin. The admin holds no grantaccess
|
|
16
|
+
* document, so a device that joins through discovery has no other way to
|
|
17
|
+
* learn the name and would have to show a key fingerprint instead.
|
|
18
|
+
*/
|
|
19
|
+
adminUsername?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function wrapDeviceJoinBootstrap(rsa: RSAEncryption, payload: DeviceJoinBootstrap, encryptionPublicKey: string): Promise<string>;
|
|
22
|
+
export declare function unwrapDeviceJoinBootstrap(rsa: RSAEncryption, wrapped: string, encryptionPrivateKey: CryptoKey | string): Promise<DeviceJoinBootstrap>;
|
|
23
|
+
//# sourceMappingURL=deviceJoinBootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceJoinBootstrap.d.ts","sourceRoot":"","sources":["../../../src/core/join/deviceJoinBootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,mBAAmB,EAC5B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,SAAS,GAAG,MAAM,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAc9B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wrapDeviceJoinBootstrap = wrapDeviceJoinBootstrap;
|
|
4
|
+
exports.unwrapDeviceJoinBootstrap = unwrapDeviceJoinBootstrap;
|
|
5
|
+
function isNonEmptyString(value) {
|
|
6
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
7
|
+
}
|
|
8
|
+
async function wrapDeviceJoinBootstrap(rsa, payload, encryptionPublicKey) {
|
|
9
|
+
const username = payload.username.trim();
|
|
10
|
+
if (!username) {
|
|
11
|
+
throw new Error("Cannot wrap device join bootstrap: username is required");
|
|
12
|
+
}
|
|
13
|
+
const body = { username };
|
|
14
|
+
const tenantLabel = typeof payload.tenantLabel === "string" ? payload.tenantLabel.trim() : "";
|
|
15
|
+
if (tenantLabel)
|
|
16
|
+
body.tenantLabel = tenantLabel;
|
|
17
|
+
const adminUsername = typeof payload.adminUsername === "string" ? payload.adminUsername.trim() : "";
|
|
18
|
+
if (adminUsername)
|
|
19
|
+
body.adminUsername = adminUsername;
|
|
20
|
+
return rsa.encryptToBase64(new TextEncoder().encode(JSON.stringify(body)), encryptionPublicKey);
|
|
21
|
+
}
|
|
22
|
+
async function unwrapDeviceJoinBootstrap(rsa, wrapped, encryptionPrivateKey) {
|
|
23
|
+
const bytes = await rsa.decryptFromBase64(wrapped, encryptionPrivateKey);
|
|
24
|
+
const parsed = JSON.parse(new TextDecoder().decode(bytes));
|
|
25
|
+
const username = isNonEmptyString(parsed.username) ? parsed.username.trim() : "";
|
|
26
|
+
if (!username) {
|
|
27
|
+
throw new Error("Device join bootstrap is missing username");
|
|
28
|
+
}
|
|
29
|
+
const tenantLabel = isNonEmptyString(parsed.tenantLabel) ? parsed.tenantLabel.trim() : "";
|
|
30
|
+
const adminUsername = isNonEmptyString(parsed.adminUsername) ? parsed.adminUsername.trim() : "";
|
|
31
|
+
return {
|
|
32
|
+
username,
|
|
33
|
+
...(tenantLabel ? { tenantLabel } : {}),
|
|
34
|
+
...(adminUsername ? { adminUsername } : {}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=deviceJoinBootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceJoinBootstrap.js","sourceRoot":"","sources":["../../../src/core/join/deviceJoinBootstrap.ts"],"names":[],"mappings":";;AA0BA,0DAgBC;AAED,8DAkBC;AAxCD,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,GAAkB,EAClB,OAA4B,EAC5B,mBAA2B;IAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,GAAwB,EAAE,QAAQ,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,MAAM,aAAa,GACjB,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACtD,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAClG,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,GAAkB,EAClB,OAAe,EACf,oBAAwC;IAExC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAA4B,CAAC;IACtF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -59,7 +59,19 @@ export interface KeyBagChangeEvent {
|
|
|
59
59
|
export type KeyBagChangeListener = (event: KeyBagChangeEvent) => void;
|
|
60
60
|
export interface KeyDetail {
|
|
61
61
|
scopedKeyId: string;
|
|
62
|
+
/**
|
|
63
|
+
* When the key *version* was minted (milliseconds since Unix epoch). Same
|
|
64
|
+
* value on every device that holds the version, which is why key-distribution
|
|
65
|
+
* manifests and delivery dedupe compare it — and why it is frequently absent.
|
|
66
|
+
*/
|
|
62
67
|
createdAt?: number;
|
|
68
|
+
/**
|
|
69
|
+
* When this bag stored the version (milliseconds since Unix epoch), stamped
|
|
70
|
+
* on every write. Absent only for entries persisted before the field
|
|
71
|
+
* existed. Prefer it over {@link createdAt} for display: `createdAt` carries
|
|
72
|
+
* the cross-device version identity and is often missing.
|
|
73
|
+
*/
|
|
74
|
+
addedAt?: number;
|
|
63
75
|
keyLengthBits: number;
|
|
64
76
|
versionIndex: number;
|
|
65
77
|
}
|
|
@@ -261,8 +273,12 @@ export declare class KeyBag {
|
|
|
261
273
|
* @param keyId The ID of the key
|
|
262
274
|
* @param key The key bytes
|
|
263
275
|
* @param createdAt Optional creation timestamp (milliseconds since Unix epoch)
|
|
276
|
+
* @param addedAt Optional override for the local "stored in this bag" stamp,
|
|
277
|
+
* defaulting to now. Pass the previous stamp when copying an entry into
|
|
278
|
+
* another bag (re-wrapping for a different identity, merging bags) so the
|
|
279
|
+
* date the user sees survives the copy.
|
|
264
280
|
*/
|
|
265
|
-
set(type: KeyType, tenantId: string, id: string, key: Uint8Array, createdAt?: number): Promise<void>;
|
|
281
|
+
set(type: KeyType, tenantId: string, id: string, key: Uint8Array, createdAt?: number, addedAt?: number): Promise<void>;
|
|
266
282
|
/**
|
|
267
283
|
* Creates a new tenant symmetric key (AES-256) and stores it directly in this KeyBag.
|
|
268
284
|
* This avoids temporary password-wrapped key blobs when the key is only needed locally.
|
|
@@ -420,7 +436,9 @@ export declare class KeyBag {
|
|
|
420
436
|
private sortKeyEntries;
|
|
421
437
|
/**
|
|
422
438
|
* Collapse identical key-material versions under one id.
|
|
423
|
-
* When duplicates differ only by `createdAt`, keep the newest timestamp
|
|
439
|
+
* When duplicates differ only by `createdAt`, keep the newest timestamp;
|
|
440
|
+
* for `addedAt` keep the oldest, because that is when the bag first held
|
|
441
|
+
* the key material.
|
|
424
442
|
*/
|
|
425
443
|
private dedupeKeyEntries;
|
|
426
444
|
private normalizeLoadedScopedKeyId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyBag.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,KAAK,OAAO,EAA4C,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyBag.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"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"}
|