mindoodb 0.0.94 → 0.0.95
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/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +17 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +63 -4
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +10 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +45 -3
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +22 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +33 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +37 -0
- package/dist/core/BaseMindooDB.d.ts +9 -0
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +65 -2
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +75 -1
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +229 -7
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +165 -2
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +648 -112
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +30 -0
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +95 -0
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts +45 -0
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.js +58 -0
- package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -1
- package/dist/core/accesscontrol/adminKeys.d.ts +130 -0
- package/dist/core/accesscontrol/adminKeys.d.ts.map +1 -0
- package/dist/core/accesscontrol/adminKeys.js +164 -0
- package/dist/core/accesscontrol/adminKeys.js.map +1 -0
- package/dist/core/accesscontrol/directoryAdminResolver.d.ts +54 -0
- package/dist/core/accesscontrol/directoryAdminResolver.d.ts.map +1 -0
- package/dist/core/accesscontrol/directoryAdminResolver.js +217 -0
- package/dist/core/accesscontrol/directoryAdminResolver.js.map +1 -0
- package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.js +25 -0
- package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
- package/dist/core/accesscontrol/grantKeys.d.ts +16 -0
- package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -1
- package/dist/core/accesscontrol/grantKeys.js +37 -0
- package/dist/core/accesscontrol/grantKeys.js.map +1 -1
- package/dist/core/accesscontrol/types.d.ts +11 -2
- package/dist/core/accesscontrol/types.d.ts.map +1 -1
- package/dist/core/accesscontrol/types.js +7 -0
- package/dist/core/accesscontrol/types.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +8 -0
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +16 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.d.ts +13 -0
- package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.js.map +1 -1
- package/dist/core/builtinDbInvariants.d.ts +18 -2
- package/dist/core/builtinDbInvariants.d.ts.map +1 -1
- package/dist/core/builtinDbInvariants.js +41 -5
- package/dist/core/builtinDbInvariants.js.map +1 -1
- package/dist/core/index.d.ts +4 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +26 -5
- package/dist/core/index.js.map +1 -1
- package/dist/core/live/LiveChannel.d.ts +41 -0
- package/dist/core/live/LiveChannel.d.ts.map +1 -0
- package/dist/core/live/LiveChannel.js +151 -0
- package/dist/core/live/LiveChannel.js.map +1 -0
- package/dist/core/types.d.ts +182 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/MindooURI.d.ts +1 -1
- package/dist/core/uri/MindooURI.d.ts.map +1 -1
- package/dist/core/uri/MindooURI.js +2 -0
- package/dist/core/uri/MindooURI.js.map +1 -1
- package/dist/core/uri/adminUri.d.ts +52 -0
- package/dist/core/uri/adminUri.d.ts.map +1 -0
- package/dist/core/uri/adminUri.js +100 -0
- package/dist/core/uri/adminUri.js.map +1 -0
- package/dist/core/uri/joinRequestUri.d.ts.map +1 -1
- package/dist/core/uri/joinRequestUri.js +14 -1
- package/dist/core/uri/joinRequestUri.js.map +1 -1
- package/dist/core/userid/index.d.ts +9 -0
- package/dist/core/userid/index.d.ts.map +1 -1
- package/dist/core/userkeys/UserKeyDocument.d.ts +7 -1
- package/dist/core/userkeys/UserKeyDocument.d.ts.map +1 -1
- package/dist/core/userkeys/UserKeyDocument.js +14 -3
- package/dist/core/userkeys/UserKeyDocument.js.map +1 -1
- package/dist/core/userkeys/UserKeyManager.d.ts +95 -4
- package/dist/core/userkeys/UserKeyManager.d.ts.map +1 -1
- package/dist/core/userkeys/UserKeyManager.js +606 -59
- package/dist/core/userkeys/UserKeyManager.js.map +1 -1
- package/dist/core/userkeys/deviceCertificate.d.ts +46 -0
- package/dist/core/userkeys/deviceCertificate.d.ts.map +1 -0
- package/dist/core/userkeys/deviceCertificate.js +86 -0
- package/dist/core/userkeys/deviceCertificate.js.map +1 -0
- package/dist/core/userkeys/generationSignature.d.ts +32 -0
- package/dist/core/userkeys/generationSignature.d.ts.map +1 -0
- package/dist/core/userkeys/generationSignature.js +136 -0
- package/dist/core/userkeys/generationSignature.js.map +1 -0
- package/dist/core/userkeys/generationValidity.d.ts +75 -0
- package/dist/core/userkeys/generationValidity.d.ts.map +1 -0
- package/dist/core/userkeys/generationValidity.js +175 -0
- package/dist/core/userkeys/generationValidity.js.map +1 -0
- package/dist/core/userkeys/index.d.ts +5 -2
- package/dist/core/userkeys/index.d.ts.map +1 -1
- package/dist/core/userkeys/index.js +21 -1
- package/dist/core/userkeys/index.js.map +1 -1
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts +16 -0
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts.map +1 -1
- package/dist/core/userkeys/resolveUserKeyDocument.js +42 -1
- package/dist/core/userkeys/resolveUserKeyDocument.js.map +1 -1
- package/dist/core/userkeys/types.d.ts +26 -0
- package/dist/core/userkeys/types.d.ts.map +1 -1
- package/dist/core/userkeys/types.js +3 -1
- package/dist/core/userkeys/types.js.map +1 -1
- package/dist/core/userkeys/validateUserKeyDocument.d.ts.map +1 -1
- package/dist/core/userkeys/validateUserKeyDocument.js +7 -0
- package/dist/core/userkeys/validateUserKeyDocument.js.map +1 -1
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +11 -0
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/server/SyncEventBus.d.ts +22 -0
- package/dist/server/SyncEventBus.d.ts.map +1 -1
- package/dist/server/SyncEventBus.js +21 -0
- package/dist/server/SyncEventBus.js.map +1 -1
- package/dist/server/TenantManager.d.ts +9 -0
- package/dist/server/TenantManager.d.ts.map +1 -1
- package/dist/server/TenantManager.js +96 -0
- package/dist/server/TenantManager.js.map +1 -1
- package/dist/server/http/MindooDBServerCore.d.ts +39 -1
- package/dist/server/http/MindooDBServerCore.d.ts.map +1 -1
- package/dist/server/http/MindooDBServerCore.js +121 -2
- package/dist/server/http/MindooDBServerCore.js.map +1 -1
- package/dist/server/http/types.d.ts +10 -1
- package/dist/server/http/types.d.ts.map +1 -1
- package/dist/server/http/types.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MindooTenant, EncryptedPrivateKey, MindooDB, ContentAddressedStore, ContentAddressedStoreFactory, StoreKind, OpenDBOptions, MindooTenantFactory, MindooTenantDirectory, StoreEntryMetadata, SigningKeyPair, JoinRequest, JoinResponse, ApproveJoinRequestOptions, ConnectToServerOptions, PublishToServerOptions } from "./types";
|
|
1
|
+
import { MindooTenant, EncryptedPrivateKey, MindooDB, ContentAddressedStore, ContentAddressedStoreFactory, StoreKind, OpenDBOptions, MindooTenantFactory, MindooTenantDirectory, StoreEntryMetadata, SigningKeyPair, JoinRequest, JoinResponse, ApproveJoinRequestOptions, ApproveAdminRequestOptions, ConnectToServerOptions, PublishToServerOptions } from "./types";
|
|
2
2
|
import { PrivateUserId, PublicUserId } from "./userid";
|
|
3
3
|
import { CryptoAdapter } from "./crypto/CryptoAdapter";
|
|
4
4
|
import { KeyBag } from "./keys/KeyBag";
|
|
@@ -9,8 +9,10 @@ import type { RecipientOptions, RecipientSpec } from "./userkeys/sealedTypes";
|
|
|
9
9
|
import { type SealedValue } from "./userkeys/sealedValues";
|
|
10
10
|
import { MindooDocSigner } from "./crypto/MindooDocSigner";
|
|
11
11
|
import { Logger } from "./logging";
|
|
12
|
+
import { type AdminRequest, type AdminResponse } from "./uri/adminUri";
|
|
12
13
|
import { type LocalCacheStore } from "./cache/LocalCacheStore";
|
|
13
14
|
import { CacheManager } from "./cache/CacheManager";
|
|
15
|
+
import { DirectoryAdminKeyResolver } from "./accesscontrol/directoryAdminResolver";
|
|
14
16
|
/**
|
|
15
17
|
* BaseMindooTenant is a platform-agnostic implementation of MindooTenant
|
|
16
18
|
* that works in both browser and server environments.
|
|
@@ -143,6 +145,12 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
143
145
|
getCurrentPrivateUser(): PrivateUserId;
|
|
144
146
|
getCurrentUserPassword(): string;
|
|
145
147
|
getUserKeyManager(): UserKeyManager;
|
|
148
|
+
/**
|
|
149
|
+
* The document store of `dbId` without opening (materializing) the
|
|
150
|
+
* database: the open database's store, or a store handle from the factory.
|
|
151
|
+
* For readers that only scan entries, such as the device-certificate index.
|
|
152
|
+
*/
|
|
153
|
+
getDocStoreForDb(dbId: string): ContentAddressedStore;
|
|
146
154
|
isDatabaseOpen(dbId: string): boolean;
|
|
147
155
|
/** Fully initialized (not merely in-flight). See UserKeyManager.canReconcileAgainstUserDirectory. */
|
|
148
156
|
isDatabaseReady(dbId: string): boolean;
|
|
@@ -174,6 +182,20 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
174
182
|
declineUserKeyDevice(fingerprint: string): Promise<void>;
|
|
175
183
|
undoDeclineUserKeyDevice(fingerprint: string): Promise<void>;
|
|
176
184
|
rotateUserKey(): Promise<void>;
|
|
185
|
+
getDeviceSelfGrantPublicKey(): Promise<string | null>;
|
|
186
|
+
issueDeviceCertificate(device: {
|
|
187
|
+
signingPublicKey: string;
|
|
188
|
+
encryptionPublicKey: string;
|
|
189
|
+
}, label?: string): Promise<{
|
|
190
|
+
docId: string;
|
|
191
|
+
certificate: import("./userkeys/deviceCertificate").DeviceCertificatePayload;
|
|
192
|
+
}>;
|
|
193
|
+
revokeOwnDeviceCertificate(fingerprint: string): Promise<number>;
|
|
194
|
+
listOwnDeviceCertificates(): Promise<Array<{
|
|
195
|
+
docId: string;
|
|
196
|
+
fingerprint: string;
|
|
197
|
+
certificate: import("./userkeys/deviceCertificate").DeviceCertificatePayload;
|
|
198
|
+
}>>;
|
|
177
199
|
reconcileUserKeys(options?: {
|
|
178
200
|
allowSelfCreate?: boolean;
|
|
179
201
|
}): Promise<UserKeyEnrollmentStatus>;
|
|
@@ -250,6 +272,50 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
250
272
|
* @return The administration public key (Ed25519, PEM format)
|
|
251
273
|
*/
|
|
252
274
|
getAdministrationPublicKey(): string;
|
|
275
|
+
/**
|
|
276
|
+
* Signing keys this process writes with besides the current user's (e.g. a
|
|
277
|
+
* delegated admin key, docs/accesscontrol.md §6.13). Directory entries such a
|
|
278
|
+
* key wrote here count locally before a witness stamped them.
|
|
279
|
+
*/
|
|
280
|
+
private readonly localSigningKeys;
|
|
281
|
+
/** Store-level admin-key resolver of the open `directory` database (§6.13). */
|
|
282
|
+
private directoryAdminResolver;
|
|
283
|
+
/** Public keys derived from admin private keys handed to directory methods. */
|
|
284
|
+
private readonly adminPublicKeyByPrivateKey;
|
|
285
|
+
/** Remember that this process signs with `publicKey` (see {@link isLocalSigningKey}). */
|
|
286
|
+
noteLocalSigningKey(publicKey: string): void;
|
|
287
|
+
/** Whether this process signs with `publicKey`: the current user or a noted key. */
|
|
288
|
+
isLocalSigningKey(publicKey: string): boolean;
|
|
289
|
+
/**
|
|
290
|
+
* The store-level admin-key resolver for this tenant's `directory` database,
|
|
291
|
+
* created on first use for `store`. Used by the directory load path and by
|
|
292
|
+
* {@link isAdminSigningKeyAt}; it reads root-signed admin-key documents
|
|
293
|
+
* straight from the store, so it never recurses into directory materialization.
|
|
294
|
+
*/
|
|
295
|
+
getDirectoryAdminResolver(store: ContentAddressedStore): DirectoryAdminKeyResolver;
|
|
296
|
+
/**
|
|
297
|
+
* Whether `signingKey` is a tenant admin at time `T` (docs/accesscontrol.md
|
|
298
|
+
* §6.13): the root admin key always is; a delegated admin key is while its
|
|
299
|
+
* admin-key document's window covers `T`. `T` is a witness time, or "now"
|
|
300
|
+
* for live decisions.
|
|
301
|
+
*/
|
|
302
|
+
isAdminSigningKeyAt(signingKey: string, T: number): Promise<boolean>;
|
|
303
|
+
/**
|
|
304
|
+
* Whether `signingKey` has ever been a delegated admin key of this tenant (an
|
|
305
|
+
* admin-key document exists, whatever its window). Such a key holds no grant,
|
|
306
|
+
* so its trust is decided by {@link isAdminSigningKeyAt} alone.
|
|
307
|
+
*/
|
|
308
|
+
isKnownDelegatedAdminKey(signingKey: string): Promise<boolean>;
|
|
309
|
+
/**
|
|
310
|
+
* The signing key pair for an admin private key passed to a directory method.
|
|
311
|
+
* The root admin key pair is the default; for a delegated admin key
|
|
312
|
+
* (§6.13) the public key is derived from the private key once and cached.
|
|
313
|
+
* The derived key is remembered as a local signing key, so the directory
|
|
314
|
+
* entries it writes count here before a witness stamps them.
|
|
315
|
+
*/
|
|
316
|
+
resolveAdminSigningKeyPair(privateKey: EncryptedPrivateKey, password: string): Promise<SigningKeyPair>;
|
|
317
|
+
/** Ed25519 public key (SPKI PEM) of an encrypted private signing key. */
|
|
318
|
+
private derivePublicSigningKey;
|
|
253
319
|
/**
|
|
254
320
|
* Get the administration encryption public key for this tenant.
|
|
255
321
|
* Used for encrypting sensitive data in the directory that only admins can decrypt
|
|
@@ -466,6 +532,14 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
466
532
|
format: "uri";
|
|
467
533
|
}): Promise<string>;
|
|
468
534
|
approveJoinRequest(joinRequest: JoinRequest | string, options: ApproveJoinRequestOptions): Promise<JoinResponse>;
|
|
535
|
+
/**
|
|
536
|
+
* Approve a delegated-admin request (docs/accesscontrol.md §6.13). Root admin
|
|
537
|
+
* key only: writes the admin-key document and the `tenantsetup` entry, then
|
|
538
|
+
* returns an admin response with `default` and `$publicinfos` wrapped to the
|
|
539
|
+
* new admin's encryption key. The response names the ROOT key as
|
|
540
|
+
* `adminSigningPublicKey`; the trust anchor never changes.
|
|
541
|
+
*/
|
|
542
|
+
approveAdminRequest(adminRequest: AdminRequest | string, options: ApproveAdminRequestOptions): Promise<AdminResponse | string>;
|
|
469
543
|
/**
|
|
470
544
|
* Publish (register) this tenant on a MindooDB server.
|
|
471
545
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMindooTenant.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseMindooTenant.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,15 @@ const errors_1 = require("./errors");
|
|
|
29
29
|
const logging_1 = require("./logging");
|
|
30
30
|
const MindooURI_1 = require("./uri/MindooURI");
|
|
31
31
|
const joinRequestUri_1 = require("./uri/joinRequestUri");
|
|
32
|
+
const adminUri_1 = require("./uri/adminUri");
|
|
32
33
|
const LocalCacheStore_1 = require("./cache/LocalCacheStore");
|
|
33
34
|
const EncryptedLocalCacheStore_1 = require("./cache/EncryptedLocalCacheStore");
|
|
34
35
|
const CacheManager_1 = require("./cache/CacheManager");
|
|
35
36
|
const databaseIdValidation_1 = require("./databaseIdValidation");
|
|
36
37
|
const BackgroundTaskTracker_1 = require("./BackgroundTaskTracker");
|
|
37
38
|
const singleFlight_1 = require("./utils/singleFlight");
|
|
39
|
+
const directoryAdminResolver_1 = require("./accesscontrol/directoryAdminResolver");
|
|
40
|
+
const DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
|
|
38
41
|
const dynamicImportInterop_1 = require("./utils/dynamicImportInterop");
|
|
39
42
|
/**
|
|
40
43
|
* BaseMindooTenant is a platform-agnostic implementation of MindooTenant
|
|
@@ -133,6 +136,16 @@ class BaseMindooTenant {
|
|
|
133
136
|
this.cacheManager = null;
|
|
134
137
|
/** Imported HMAC subkeys of {@link computeKeyedHash}, keyed by key id + purpose. */
|
|
135
138
|
this.keyedHashKeyCache = new Map();
|
|
139
|
+
/**
|
|
140
|
+
* Signing keys this process writes with besides the current user's (e.g. a
|
|
141
|
+
* delegated admin key, docs/accesscontrol.md §6.13). Directory entries such a
|
|
142
|
+
* key wrote here count locally before a witness stamped them.
|
|
143
|
+
*/
|
|
144
|
+
this.localSigningKeys = new Set();
|
|
145
|
+
/** Store-level admin-key resolver of the open `directory` database (§6.13). */
|
|
146
|
+
this.directoryAdminResolver = null;
|
|
147
|
+
/** Public keys derived from admin private keys handed to directory methods. */
|
|
148
|
+
this.adminPublicKeyByPrivateKey = new WeakMap();
|
|
136
149
|
this.factory = factory;
|
|
137
150
|
this.tenantId = tenantId;
|
|
138
151
|
this.administrationPublicKey = administrationPublicKey;
|
|
@@ -287,6 +300,17 @@ class BaseMindooTenant {
|
|
|
287
300
|
getUserKeyManager() {
|
|
288
301
|
return this.userKeys;
|
|
289
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* The document store of `dbId` without opening (materializing) the
|
|
305
|
+
* database: the open database's store, or a store handle from the factory.
|
|
306
|
+
* For readers that only scan entries, such as the device-certificate index.
|
|
307
|
+
*/
|
|
308
|
+
getDocStoreForDb(dbId) {
|
|
309
|
+
const live = this.databaseCache.get(dbId);
|
|
310
|
+
if (live)
|
|
311
|
+
return live.getStore();
|
|
312
|
+
return this.storeFactory.createStore(dbId).docStore;
|
|
313
|
+
}
|
|
290
314
|
isDatabaseOpen(dbId) {
|
|
291
315
|
return this.databaseCache.has(dbId) || this.databaseOpenInFlight.has(dbId);
|
|
292
316
|
}
|
|
@@ -363,6 +387,18 @@ class BaseMindooTenant {
|
|
|
363
387
|
async rotateUserKey() {
|
|
364
388
|
return this.userKeys.rotateUserKey();
|
|
365
389
|
}
|
|
390
|
+
async getDeviceSelfGrantPublicKey() {
|
|
391
|
+
return this.userKeys.getDeviceSelfGrantPublicKey();
|
|
392
|
+
}
|
|
393
|
+
async issueDeviceCertificate(device, label) {
|
|
394
|
+
return this.userKeys.issueDeviceCertificate(device, label);
|
|
395
|
+
}
|
|
396
|
+
async revokeOwnDeviceCertificate(fingerprint) {
|
|
397
|
+
return this.userKeys.revokeOwnDeviceCertificate(fingerprint);
|
|
398
|
+
}
|
|
399
|
+
async listOwnDeviceCertificates() {
|
|
400
|
+
return this.userKeys.listOwnDeviceCertificates();
|
|
401
|
+
}
|
|
366
402
|
async reconcileUserKeys(options) {
|
|
367
403
|
return this.userKeys.reconcile(options);
|
|
368
404
|
}
|
|
@@ -582,6 +618,109 @@ class BaseMindooTenant {
|
|
|
582
618
|
getAdministrationPublicKey() {
|
|
583
619
|
return this.administrationPublicKey;
|
|
584
620
|
}
|
|
621
|
+
/** Remember that this process signs with `publicKey` (see {@link isLocalSigningKey}). */
|
|
622
|
+
noteLocalSigningKey(publicKey) {
|
|
623
|
+
this.localSigningKeys.add(publicKey.replace(/\s+/g, ""));
|
|
624
|
+
}
|
|
625
|
+
/** Whether this process signs with `publicKey`: the current user or a noted key. */
|
|
626
|
+
isLocalSigningKey(publicKey) {
|
|
627
|
+
const normalized = publicKey.replace(/\s+/g, "");
|
|
628
|
+
if (this.currentUser.userSigningKeyPair.publicKey.replace(/\s+/g, "") === normalized)
|
|
629
|
+
return true;
|
|
630
|
+
return this.localSigningKeys.has(normalized);
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* The store-level admin-key resolver for this tenant's `directory` database,
|
|
634
|
+
* created on first use for `store`. Used by the directory load path and by
|
|
635
|
+
* {@link isAdminSigningKeyAt}; it reads root-signed admin-key documents
|
|
636
|
+
* straight from the store, so it never recurses into directory materialization.
|
|
637
|
+
*/
|
|
638
|
+
getDirectoryAdminResolver(store) {
|
|
639
|
+
if (!this.directoryAdminResolver) {
|
|
640
|
+
this.directoryAdminResolver = new directoryAdminResolver_1.DirectoryAdminKeyResolver({
|
|
641
|
+
store,
|
|
642
|
+
rootAdminKey: () => this.administrationPublicKey,
|
|
643
|
+
decryptPayload: (encrypted, keyId) => this.decryptPayload(encrypted, keyId),
|
|
644
|
+
subtle: this.cryptoAdapter.getSubtle(),
|
|
645
|
+
isLocalSigningKey: (key) => this.isLocalSigningKey(key),
|
|
646
|
+
now: () => (0, timeSource_1.semanticNow)(),
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
return this.directoryAdminResolver;
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Whether `signingKey` is a tenant admin at time `T` (docs/accesscontrol.md
|
|
653
|
+
* §6.13): the root admin key always is; a delegated admin key is while its
|
|
654
|
+
* admin-key document's window covers `T`. `T` is a witness time, or "now"
|
|
655
|
+
* for live decisions.
|
|
656
|
+
*/
|
|
657
|
+
async isAdminSigningKeyAt(signingKey, T) {
|
|
658
|
+
if ((0, DirectoryStateNode_1.signingKeysEqual)(signingKey, this.administrationPublicKey))
|
|
659
|
+
return true;
|
|
660
|
+
if (!this.directoryAdminResolver) {
|
|
661
|
+
// Opening the directory registers the resolver. Never awaited from the
|
|
662
|
+
// directory's own load path: that path uses its resolver directly.
|
|
663
|
+
await this.openDB(types_1.DIRECTORY_DB_ID, { adminOnlyDb: true });
|
|
664
|
+
}
|
|
665
|
+
if (!this.directoryAdminResolver)
|
|
666
|
+
return false;
|
|
667
|
+
return this.directoryAdminResolver.isDelegatedAdminAt(signingKey, T);
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* Whether `signingKey` has ever been a delegated admin key of this tenant (an
|
|
671
|
+
* admin-key document exists, whatever its window). Such a key holds no grant,
|
|
672
|
+
* so its trust is decided by {@link isAdminSigningKeyAt} alone.
|
|
673
|
+
*/
|
|
674
|
+
async isKnownDelegatedAdminKey(signingKey) {
|
|
675
|
+
if (!this.directoryAdminResolver)
|
|
676
|
+
return false;
|
|
677
|
+
return this.directoryAdminResolver.hasAdminKeyDocument(signingKey);
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* The signing key pair for an admin private key passed to a directory method.
|
|
681
|
+
* The root admin key pair is the default; for a delegated admin key
|
|
682
|
+
* (§6.13) the public key is derived from the private key once and cached.
|
|
683
|
+
* The derived key is remembered as a local signing key, so the directory
|
|
684
|
+
* entries it writes count here before a witness stamps them.
|
|
685
|
+
*/
|
|
686
|
+
async resolveAdminSigningKeyPair(privateKey, password) {
|
|
687
|
+
let publicKey = this.adminPublicKeyByPrivateKey.get(privateKey);
|
|
688
|
+
if (!publicKey) {
|
|
689
|
+
try {
|
|
690
|
+
publicKey = await this.derivePublicSigningKey(privateKey, password);
|
|
691
|
+
}
|
|
692
|
+
catch (error) {
|
|
693
|
+
this.logger.debug(`resolveAdminSigningKeyPair: could not derive public key, assuming root: ${error}`);
|
|
694
|
+
publicKey = this.administrationPublicKey;
|
|
695
|
+
}
|
|
696
|
+
this.adminPublicKeyByPrivateKey.set(privateKey, publicKey);
|
|
697
|
+
}
|
|
698
|
+
if (!(0, DirectoryStateNode_1.signingKeysEqual)(publicKey, this.administrationPublicKey)) {
|
|
699
|
+
this.noteLocalSigningKey(publicKey);
|
|
700
|
+
}
|
|
701
|
+
return { publicKey: (0, DirectoryStateNode_1.signingKeysEqual)(publicKey, this.administrationPublicKey) ? this.administrationPublicKey : publicKey, privateKey };
|
|
702
|
+
}
|
|
703
|
+
/** Ed25519 public key (SPKI PEM) of an encrypted private signing key. */
|
|
704
|
+
async derivePublicSigningKey(privateKey, password) {
|
|
705
|
+
const subtle = this.cryptoAdapter.getSubtle();
|
|
706
|
+
const pkcs8 = await this.decryptPrivateKey(privateKey, password, "signing");
|
|
707
|
+
const key = await subtle.importKey("pkcs8", pkcs8, { name: "Ed25519" }, true, ["sign"]);
|
|
708
|
+
const jwk = (await subtle.exportKey("jwk", key));
|
|
709
|
+
if (!jwk.x)
|
|
710
|
+
throw new Error("Ed25519 JWK export carries no public key");
|
|
711
|
+
const base64 = jwk.x.replace(/-/g, "+").replace(/_/g, "/");
|
|
712
|
+
const padded = base64 + "=".repeat((4 - (base64.length % 4)) % 4);
|
|
713
|
+
const raw = Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));
|
|
714
|
+
const spkiPrefix = [0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, 0x03, 0x21, 0x00];
|
|
715
|
+
const spki = new Uint8Array(spkiPrefix.length + raw.length);
|
|
716
|
+
spki.set(spkiPrefix, 0);
|
|
717
|
+
spki.set(raw, spkiPrefix.length);
|
|
718
|
+
let binary = "";
|
|
719
|
+
for (const byte of spki)
|
|
720
|
+
binary += String.fromCharCode(byte);
|
|
721
|
+
const body = btoa(binary).match(/.{1,64}/g).join("\n");
|
|
722
|
+
return `-----BEGIN PUBLIC KEY-----\n${body}\n-----END PUBLIC KEY-----`;
|
|
723
|
+
}
|
|
585
724
|
/**
|
|
586
725
|
* Get the administration encryption public key for this tenant.
|
|
587
726
|
* Used for encrypting sensitive data in the directory that only admins can decrypt
|
|
@@ -917,7 +1056,20 @@ class BaseMindooTenant {
|
|
|
917
1056
|
async verifyEntrySignature(entry, encryptedData) {
|
|
918
1057
|
// The author key must be trusted by the tenant directory.
|
|
919
1058
|
const directory = await this.openDirectory();
|
|
920
|
-
|
|
1059
|
+
// A delegated admin key (docs/accesscontrol.md §6.13) holds no grant. It is
|
|
1060
|
+
// trusted for what it signed while it was an admin (judged at the witness
|
|
1061
|
+
// time, or now for an un-witnessed entry), also after its window ended.
|
|
1062
|
+
// Checked first for keys the trust cache does not know as grant keys: the
|
|
1063
|
+
// store-level check never waits for the directory cache pass that may be
|
|
1064
|
+
// verifying this very entry.
|
|
1065
|
+
const peek = directory.peekTrustedKey;
|
|
1066
|
+
let isTrusted = (0, DirectoryStateNode_1.signingKeysEqual)(entry.createdByPublicKey, this.administrationPublicKey) ||
|
|
1067
|
+
(typeof peek === "function" &&
|
|
1068
|
+
peek.call(directory, entry.createdByPublicKey) !== true &&
|
|
1069
|
+
(await this.isAdminSigningKeyAt(entry.createdByPublicKey, entry.receivedAt ?? (0, timeSource_1.semanticNow)())));
|
|
1070
|
+
if (!isTrusted) {
|
|
1071
|
+
isTrusted = await directory.validatePublicSigningKey(entry.createdByPublicKey);
|
|
1072
|
+
}
|
|
921
1073
|
if (!isTrusted) {
|
|
922
1074
|
this.logger.warn(`Public key not trusted: ${entry.createdByPublicKey}`);
|
|
923
1075
|
return false;
|
|
@@ -1106,7 +1258,7 @@ class BaseMindooTenant {
|
|
|
1106
1258
|
return;
|
|
1107
1259
|
}
|
|
1108
1260
|
const currentUser = await this.getCurrentUserId();
|
|
1109
|
-
if (currentUser.userSigningPublicKey
|
|
1261
|
+
if (await this.isAdminSigningKeyAt(currentUser.userSigningPublicKey, (0, timeSource_1.semanticNow)())) {
|
|
1110
1262
|
return;
|
|
1111
1263
|
}
|
|
1112
1264
|
const directory = await this.openDirectory();
|
|
@@ -1124,6 +1276,10 @@ class BaseMindooTenant {
|
|
|
1124
1276
|
registeredUser?.signingPublicKey === currentUser.userSigningPublicKey &&
|
|
1125
1277
|
registeredUser?.encryptionPublicKey === currentUser.userEncryptionPublicKey;
|
|
1126
1278
|
}
|
|
1279
|
+
// A device its person certified (docs/userkeys.md §9.6).
|
|
1280
|
+
if (!hasMatchingGrant && typeof directory.resolveSignerToGrant === "function") {
|
|
1281
|
+
hasMatchingGrant = !!(await directory.resolveSignerToGrant(currentUser.userSigningPublicKey, Number.MAX_SAFE_INTEGER));
|
|
1282
|
+
}
|
|
1127
1283
|
if (!hasMatchingGrant) {
|
|
1128
1284
|
this.logger.warn(`Denied database open for ungranted user ${currentUser.username} on database ${id}`);
|
|
1129
1285
|
throw new Error(`User "${currentUser.username}" does not have tenant access yet; the tenant admin must grant access first.`);
|
|
@@ -1562,6 +1718,9 @@ class BaseMindooTenant {
|
|
|
1562
1718
|
}
|
|
1563
1719
|
console.log(`[approveJoinRequest] Approving join request for user "${username}"`);
|
|
1564
1720
|
this.logger.info(`Approving join request for user: ${username}`);
|
|
1721
|
+
// The approving admin: the root, or a delegated admin (§6.13).
|
|
1722
|
+
const approverKeyPair = await this.resolveAdminSigningKeyPair(options.adminSigningKey, options.adminPassword);
|
|
1723
|
+
const approverIsRoot = (0, DirectoryStateNode_1.signingKeysEqual)(approverKeyPair.publicKey, this.administrationPublicKey);
|
|
1565
1724
|
// 1. Register the user in the directory
|
|
1566
1725
|
const directory = await this.openDirectory();
|
|
1567
1726
|
const publicUserId = {
|
|
@@ -1596,10 +1755,7 @@ class BaseMindooTenant {
|
|
|
1596
1755
|
const userKeyDoc = await this.userKeys.createPendingFromJoin({
|
|
1597
1756
|
username,
|
|
1598
1757
|
userPublicKey,
|
|
1599
|
-
signingKeyPair:
|
|
1600
|
-
publicKey: this.administrationPublicKey,
|
|
1601
|
-
privateKey: options.adminSigningKey,
|
|
1602
|
-
},
|
|
1758
|
+
signingKeyPair: approverKeyPair,
|
|
1603
1759
|
signingKeyPassword: options.adminPassword,
|
|
1604
1760
|
});
|
|
1605
1761
|
const payload = (0, validateUserKeyDocument_1.asUserKeyPayload)(userKeyDoc.getData());
|
|
@@ -1613,6 +1769,15 @@ class BaseMindooTenant {
|
|
|
1613
1769
|
// (`[$publicinfos]`) must not quietly hand out the tenant key.
|
|
1614
1770
|
const wrapDefault = options.sharedDocKeyIds === undefined ||
|
|
1615
1771
|
options.sharedDocKeyIds.includes(types_1.DEFAULT_TENANT_KEY_ID);
|
|
1772
|
+
// The person's first device brings their device self-grant key. Only
|
|
1773
|
+
// then is it the person's own key; an additional device's request
|
|
1774
|
+
// carries a key nobody else holds (docs/userkeys.md §9).
|
|
1775
|
+
const selfGrantKey = typeof request.deviceSelfGrantPublicKey === "string"
|
|
1776
|
+
? request.deviceSelfGrantPublicKey.trim()
|
|
1777
|
+
: "";
|
|
1778
|
+
if (options.allowDeviceSelfGrant && selfGrantKey && publishedPublicKey === userPublicKey) {
|
|
1779
|
+
await directory.setDeviceSelfGrant(username, selfGrantKey, options.adminSigningKey, options.adminPassword);
|
|
1780
|
+
}
|
|
1616
1781
|
if (wrapDefault && publishedPublicKey === userPublicKey) {
|
|
1617
1782
|
await directory.autoDistributeKeysToUser(username, [types_1.DEFAULT_TENANT_KEY_ID], options.adminSigningKey, options.adminPassword, userPublicKey);
|
|
1618
1783
|
}
|
|
@@ -1704,7 +1869,7 @@ class BaseMindooTenant {
|
|
|
1704
1869
|
// Tenants created before `tenantsetup` recorded administrators have no
|
|
1705
1870
|
// entry, leaving members with a fingerprint instead of a name. A grant is
|
|
1706
1871
|
// where the admin supplies both its name and its keys, so heal it here.
|
|
1707
|
-
if (options.adminUsername) {
|
|
1872
|
+
if (options.adminUsername && approverIsRoot) {
|
|
1708
1873
|
try {
|
|
1709
1874
|
const directoryDb = await this.openDB("directory", { adminOnlyDb: true });
|
|
1710
1875
|
const written = await (0, tenantSetup_1.ensureTenantSetupAdministrator)(directoryDb, {
|
|
@@ -1732,6 +1897,63 @@ class BaseMindooTenant {
|
|
|
1732
1897
|
}
|
|
1733
1898
|
return joinResponse;
|
|
1734
1899
|
}
|
|
1900
|
+
/**
|
|
1901
|
+
* Approve a delegated-admin request (docs/accesscontrol.md §6.13). Root admin
|
|
1902
|
+
* key only: writes the admin-key document and the `tenantsetup` entry, then
|
|
1903
|
+
* returns an admin response with `default` and `$publicinfos` wrapped to the
|
|
1904
|
+
* new admin's encryption key. The response names the ROOT key as
|
|
1905
|
+
* `adminSigningPublicKey`; the trust anchor never changes.
|
|
1906
|
+
*/
|
|
1907
|
+
async approveAdminRequest(adminRequest, options) {
|
|
1908
|
+
const request = (0, adminUri_1.decodeAdminRequestUri)(adminRequest);
|
|
1909
|
+
if (request.tenantId && request.tenantId !== this.tenantId) {
|
|
1910
|
+
throw new Error(`This admin request is for tenant "${request.tenantId}", not "${this.tenantId}"`);
|
|
1911
|
+
}
|
|
1912
|
+
const name = (options.name ?? request.name ?? "").trim();
|
|
1913
|
+
if (!name) {
|
|
1914
|
+
throw new Error("Cannot approve admin request: no name in the request and none supplied via options.name");
|
|
1915
|
+
}
|
|
1916
|
+
const label = (options.label ?? request.label ?? "").trim();
|
|
1917
|
+
const directory = (await this.openDirectory());
|
|
1918
|
+
await directory.addAdminKey({
|
|
1919
|
+
signingPublicKey: request.signingPublicKey,
|
|
1920
|
+
encryptionPublicKey: request.encryptionPublicKey,
|
|
1921
|
+
name,
|
|
1922
|
+
...(label ? { label } : {}),
|
|
1923
|
+
...(typeof options.validFrom === "number" ? { validFrom: options.validFrom } : {}),
|
|
1924
|
+
}, options.adminSigningKey, options.adminPassword);
|
|
1925
|
+
const encryptedDocKeys = await Promise.all([types_1.DEFAULT_TENANT_KEY_ID, types_1.PUBLIC_INFOS_KEY_ID].map((keyId) => this.exportJoinResponseDocKeyVersions(keyId, request.encryptionPublicKey)));
|
|
1926
|
+
const response = {
|
|
1927
|
+
v: 1,
|
|
1928
|
+
tenantId: this.tenantId,
|
|
1929
|
+
adminSigningPublicKey: this.administrationPublicKey,
|
|
1930
|
+
adminEncryptionPublicKey: this.administrationEncryptionPublicKey,
|
|
1931
|
+
signingPublicKey: request.signingPublicKey,
|
|
1932
|
+
name,
|
|
1933
|
+
encryptedDocKeys,
|
|
1934
|
+
};
|
|
1935
|
+
if (label)
|
|
1936
|
+
response.label = label;
|
|
1937
|
+
if (options.serverUrl)
|
|
1938
|
+
response.serverUrl = options.serverUrl;
|
|
1939
|
+
const tenantLabel = options.tenantLabel?.trim();
|
|
1940
|
+
if (tenantLabel) {
|
|
1941
|
+
response.tenantLabel = tenantLabel;
|
|
1942
|
+
}
|
|
1943
|
+
else {
|
|
1944
|
+
try {
|
|
1945
|
+
const directoryDb = await this.openDB(types_1.DIRECTORY_DB_ID, { adminOnlyDb: true });
|
|
1946
|
+
const setupLabel = await (0, tenantSetup_1.readTenantSetupLabel)(directoryDb, this);
|
|
1947
|
+
if (setupLabel)
|
|
1948
|
+
response.tenantLabel = setupLabel;
|
|
1949
|
+
}
|
|
1950
|
+
catch {
|
|
1951
|
+
// Best-effort, as for join responses.
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
this.logger.info(`Admin request approved for "${name}"`);
|
|
1955
|
+
return options.format === "uri" ? (0, adminUri_1.encodeAdminResponseUri)(response) : response;
|
|
1956
|
+
}
|
|
1735
1957
|
/**
|
|
1736
1958
|
* Publish (register) this tenant on a MindooDB server.
|
|
1737
1959
|
*
|