@enbox/dwn-sdk-js 0.4.4 → 0.4.6
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/browser.mjs +15 -15
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +5406 -2391
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/json-schemas/definitions.json +18 -0
- package/dist/esm/src/core/constants.js +3 -3
- package/dist/esm/src/core/constants.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +29 -1
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +20 -0
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +80 -3
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/recording-validation-state-reader.js +5 -0
- package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -1
- package/dist/esm/src/core/replication-apply.js +163 -7
- package/dist/esm/src/core/replication-apply.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +20 -0
- package/dist/esm/src/core/validation-state-reader.js.map +1 -1
- package/dist/esm/src/dwn.js +19 -2
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/handlers/messages-query.js +3 -5
- package/dist/esm/src/handlers/messages-query.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +10 -4
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +1 -1
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +2 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +23 -10
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/records-write-signing.js +2 -8
- package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +43 -65
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/protocols/encryption.js +411 -0
- package/dist/esm/src/protocols/encryption.js.map +1 -0
- package/dist/esm/src/protocols/permission-grant.js +0 -5
- package/dist/esm/src/protocols/permission-grant.js.map +1 -1
- package/dist/esm/src/types/message-types.js.map +1 -1
- package/dist/esm/src/types/permission-types.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +156 -188
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +0 -1
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/permission-scope.js +9 -6
- package/dist/esm/src/utils/permission-scope.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +12 -9
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +54 -56
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/replication.js +27 -4
- package/dist/esm/src/utils/replication.js.map +1 -1
- package/dist/esm/tests/core/replication-apply.spec.js +141 -1
- package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +1 -0
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +111 -0
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-state-reader.spec.js +89 -0
- package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +30 -31
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js +29 -121
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +71 -3
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +2 -2
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +9 -135
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +279 -19
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +17 -22
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +170 -150
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/protocols/encryption.spec.js +914 -0
- package/dist/esm/tests/protocols/encryption.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +100 -100
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +20 -2
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +88 -125
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption.spec.js +121 -271
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/permission-scope.spec.js +5 -1
- package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +15 -5
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +7 -44
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/encryption/audience-key.spec.js +40 -0
- package/dist/esm/tests/validation/json-schemas/encryption/audience-key.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +72 -0
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +1 -0
- package/dist/types/generated/precompiled-validators.d.ts +140 -92
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/constants.d.ts +2 -2
- package/dist/types/src/core/constants.d.ts.map +1 -1
- package/dist/types/src/core/core-protocol.d.ts +1 -1
- package/dist/types/src/core/core-protocol.d.ts.map +1 -1
- package/dist/types/src/core/dwn-error.d.ts +29 -1
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/messages-grant-authorization.d.ts +2 -0
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts +2 -2
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/recording-validation-state-reader.d.ts +9 -0
- package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/core/replication-apply.d.ts +4 -3
- package/dist/types/src/core/replication-apply.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts +9 -0
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/dwn.d.ts +1 -0
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +6 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write-signing.d.ts +4 -8
- package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +10 -26
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/protocols/encryption.d.ts +43 -0
- package/dist/types/src/protocols/encryption.d.ts.map +1 -0
- package/dist/types/src/protocols/permission-grant.d.ts +0 -7
- package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
- package/dist/types/src/types/encryption-types.d.ts +5 -38
- package/dist/types/src/types/encryption-types.d.ts.map +1 -1
- package/dist/types/src/types/message-types.d.ts +0 -13
- package/dist/types/src/types/message-types.d.ts.map +1 -1
- package/dist/types/src/types/permission-types.d.ts +0 -9
- package/dist/types/src/types/permission-types.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +9 -14
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +3 -3
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/types/validation-state-reader.d.ts +12 -0
- package/dist/types/src/types/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/utils/encryption.d.ts +61 -145
- package/dist/types/src/utils/encryption.d.ts.map +1 -1
- package/dist/types/src/utils/hd-key.d.ts +1 -1
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/permission-scope.d.ts +4 -3
- package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +3 -5
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +5 -13
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/replication.d.ts +3 -0
- package/dist/types/src/utils/replication.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/protocols/encryption.spec.d.ts +2 -0
- package/dist/types/tests/protocols/encryption.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
- package/dist/types/tests/utils/test-data-generator.d.ts +0 -5
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/dist/types/tests/validation/json-schemas/encryption/audience-key.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/encryption/audience-key.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/core/constants.ts +3 -3
- package/src/core/core-protocol.ts +1 -1
- package/src/core/dwn-error.ts +29 -1
- package/src/core/messages-grant-authorization.ts +27 -0
- package/src/core/protocol-authorization-validation.ts +145 -6
- package/src/core/recording-validation-state-reader.ts +13 -0
- package/src/core/replication-apply.ts +222 -8
- package/src/core/validation-state-reader.ts +30 -0
- package/src/dwn.ts +24 -2
- package/src/handlers/messages-query.ts +6 -5
- package/src/handlers/protocols-configure.ts +19 -3
- package/src/handlers/records-write.ts +1 -1
- package/src/index.ts +15 -5
- package/src/interfaces/protocols-configure.ts +39 -12
- package/src/interfaces/records-write-signing.ts +5 -12
- package/src/interfaces/records-write.ts +75 -92
- package/src/protocols/encryption.ts +649 -0
- package/src/protocols/permission-grant.ts +0 -6
- package/src/types/encryption-types.ts +9 -38
- package/src/types/message-types.ts +0 -13
- package/src/types/permission-types.ts +0 -10
- package/src/types/protocols-types.ts +9 -16
- package/src/types/records-types.ts +3 -3
- package/src/types/validation-state-reader.ts +13 -0
- package/src/utils/encryption.ts +258 -280
- package/src/utils/hd-key.ts +1 -1
- package/src/utils/permission-scope.ts +10 -6
- package/src/utils/protocols.ts +16 -15
- package/src/utils/records.ts +86 -71
- package/src/utils/replication.ts +30 -4
- package/dist/esm/tests/vectors/protocol-definitions/chat.json +0 -70
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/protocols/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAsB,kBAAkB,EAAmB,MAAM,6BAA6B,CAAC;AA4B3G,qBAAa,kBAAmB,YAAW,YAAY;IACrD,gBAAuB,GAAG,0DAA2B;IACrD,gBAAuB,iBAAiB,mBAAmB;IAC3D,gBAAuB,eAAe,iBAAiB;IACvD,gBAAuB,YAAY,cAAc;IAEjD,gBAAuB,UAAU,EAAE,kBAAkB,CAiEnD;IAEF,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAEY,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,EAC5B,qBAAqB,EAAE,qBAAqB,GAC3C,OAAO,CAAC,IAAI,CAAC;IAgBH,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;mBAiB1E,uBAAuB;mBAyBvB,qBAAqB;mBA0DrB,kBAAkB;IAmBvC,OAAO,CAAC,MAAM,CAAC,uBAAuB;mBASjB,qBAAqB;IAuB1C,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAa/C,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAYpC,OAAO,CAAC,MAAM,CAAC,eAAe;IAU9B,OAAO,CAAC,MAAM,CAAC,oBAAoB;mBAgBd,iBAAiB;IA8BtC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAWnC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAWtC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA2BlC,OAAO,CAAC,MAAM,CAAC,WAAW;IAK1B,OAAO,CAAC,MAAM,CAAC,sBAAsB;mBAIhB,4BAA4B;IAyBjD,OAAO,CAAC,MAAM,CAAC,yBAAyB;mBAUnB,yBAAyB;mBAwDzB,wBAAwB;mBAiBxB,oBAAoB;mBAiBpB,cAAc;IA+BnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsB5B,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO3D,gCAAgC,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAoBpF"}
|
|
@@ -44,13 +44,6 @@ export declare class PermissionGrant {
|
|
|
44
44
|
* Optional conditions that must be met when the grant is used.
|
|
45
45
|
*/
|
|
46
46
|
readonly conditions?: PermissionConditions;
|
|
47
|
-
/**
|
|
48
|
-
* Optional delegate key-delivery metadata for cross-device context key delivery.
|
|
49
|
-
*/
|
|
50
|
-
readonly delegateKeyDelivery?: {
|
|
51
|
-
rootKeyId: string;
|
|
52
|
-
publicKeyJwk: Record<string, any>;
|
|
53
|
-
};
|
|
54
47
|
/**
|
|
55
48
|
* Optional metadata describing the connect approval session that created this grant.
|
|
56
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-grant.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAuB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOvI;;GAEG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;OAEG;IACH,SAAgB,
|
|
1
|
+
{"version":3,"file":"permission-grant.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAuB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOvI;;GAEG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;OAEG;IACH,SAAgB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IAExD;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,eAAe;IAM7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B,OAAO;CAkBR"}
|
|
@@ -1,49 +1,16 @@
|
|
|
1
|
-
import type { JweKeyUnwrapPayload } from '../utils/encryption.js';
|
|
2
1
|
import type { KeyDerivationScheme } from '../utils/hd-key.js';
|
|
2
|
+
import type { KeyUnwrapPayload } from '../utils/encryption.js';
|
|
3
3
|
import type { PublicKeyJwk } from './jose-types.js';
|
|
4
|
-
|
|
5
|
-
* A callback interface for deriving HD public encryption keys.
|
|
6
|
-
* The implementor performs HKDF key derivation and public key computation
|
|
7
|
-
* internally — the private key never leaves the implementation boundary.
|
|
8
|
-
*
|
|
9
|
-
* Analogous to `MessageSigner` for signing operations.
|
|
10
|
-
*/
|
|
4
|
+
export type KeyDecrypterDerivationScheme = KeyDerivationScheme | 'roleAudience';
|
|
11
5
|
export interface EncryptionKeyDeriver {
|
|
12
|
-
/** Fully qualified key ID (e.g. did:example:alice#enc) */
|
|
13
6
|
rootKeyId: string;
|
|
14
|
-
/** The derivation scheme (e.g. KeyDerivationScheme.ProtocolPath) */
|
|
15
7
|
derivationScheme: KeyDerivationScheme;
|
|
16
|
-
/**
|
|
17
|
-
* Derives an HD child public key for the given full derivation path.
|
|
18
|
-
* The private key material stays within the implementor's boundary.
|
|
19
|
-
*
|
|
20
|
-
* @param fullDerivationPath - The complete HKDF path segments
|
|
21
|
-
* (e.g. ['protocolPath', 'https://chat.example', 'thread', 'message'])
|
|
22
|
-
* @returns The derived child public key as a JWK
|
|
23
|
-
*/
|
|
24
8
|
derivePublicKey(fullDerivationPath: string[]): Promise<PublicKeyJwk>;
|
|
25
9
|
}
|
|
26
|
-
/**
|
|
27
|
-
* A callback interface for decrypting JWE-wrapped Content Encryption Keys (CEKs).
|
|
28
|
-
* The implementor performs HKDF key derivation, ECDH-ES key agreement, and AES Key Unwrap
|
|
29
|
-
* internally — the private key never leaves the implementation boundary.
|
|
30
|
-
*
|
|
31
|
-
* Analogous to `MessageSigner` for signing operations.
|
|
32
|
-
*/
|
|
33
10
|
export interface KeyDecrypter {
|
|
34
|
-
/** Fully qualified key ID (e.g. did:example:alice#enc) */
|
|
35
11
|
rootKeyId: string;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
* Unwraps a JWE-encrypted Content Encryption Key (CEK) after deriving the
|
|
40
|
-
* leaf decryption key via HKDF through the given derivation path, then
|
|
41
|
-
* performing ECDH-ES key agreement and AES-256 Key Unwrap.
|
|
42
|
-
*
|
|
43
|
-
* @param fullDerivationPath - The complete HKDF path to derive the leaf key
|
|
44
|
-
* @param jweKeyUnwrapPayload - The wrapped CEK and ephemeral public key from the JWE recipient
|
|
45
|
-
* @returns The unwrapped CEK bytes (typically 32 bytes for AES-256)
|
|
46
|
-
*/
|
|
47
|
-
decrypt(fullDerivationPath: string[], jweKeyUnwrapPayload: JweKeyUnwrapPayload): Promise<Uint8Array>;
|
|
12
|
+
derivationScheme: KeyDecrypterDerivationScheme;
|
|
13
|
+
derivePublicKey(fullDerivationPath: string[]): Promise<PublicKeyJwk>;
|
|
14
|
+
decrypt(fullDerivationPath: string[], keyUnwrapPayload: KeyUnwrapPayload): Promise<Uint8Array>;
|
|
48
15
|
}
|
|
49
16
|
//# sourceMappingURL=encryption-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-types.d.ts","sourceRoot":"","sources":["../../../../src/types/encryption-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"encryption-types.d.ts","sourceRoot":"","sources":["../../../../src/types/encryption-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,cAAc,CAAC;AAEhF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,mBAAmB,CAAC;IAEtC,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,4BAA4B,CAAC;IAE/C,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAErE,OAAO,CACL,kBAAkB,EAAE,MAAM,EAAE,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { GeneralJws } from './jws-types.js';
|
|
2
2
|
import type { ProgressToken } from './subscriptions.js';
|
|
3
|
-
import type { PublicKeyJwk } from './jose-types.js';
|
|
4
3
|
import type { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
5
4
|
import type { PaginationCursor, SortDirection } from './query-types.js';
|
|
6
5
|
/**
|
|
@@ -37,18 +36,6 @@ export type AuthorizationModel = {
|
|
|
37
36
|
* The delegated grant required when the message is signed by an owner-delegate.
|
|
38
37
|
*/
|
|
39
38
|
ownerDelegatedGrant?: DelegatedGrantRecordsWriteMessage;
|
|
40
|
-
/**
|
|
41
|
-
* The author's ProtocolPath-derived public key for the key-delivery protocol's
|
|
42
|
-
* `contextKey` path. Included by external authors on cross-DWN encrypted
|
|
43
|
-
* protocol records so the DWN owner can encrypt a context key back to them
|
|
44
|
-
* without needing to query the author's DWN.
|
|
45
|
-
*/
|
|
46
|
-
authorKeyDeliveryPublicKey?: {
|
|
47
|
-
/** Fully-qualified verification method ID (e.g. `did:example:bob#enc`). */
|
|
48
|
-
rootKeyId: string;
|
|
49
|
-
/** The author's ProtocolPath-derived public key in JWK format. */
|
|
50
|
-
publicKeyJwk: PublicKeyJwk;
|
|
51
|
-
};
|
|
52
39
|
};
|
|
53
40
|
export type DelegatedGrantRecordsWriteMessage = {
|
|
54
41
|
authorization: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,15 +84,6 @@ export type PermissionGrantData = {
|
|
|
84
84
|
*/
|
|
85
85
|
scope: PermissionScope;
|
|
86
86
|
conditions?: PermissionConditions;
|
|
87
|
-
/**
|
|
88
|
-
* Optional delegate key-delivery metadata for cross-device context key delivery.
|
|
89
|
-
* Contains the pre-derived ProtocolPath leaf public key that the owner uses
|
|
90
|
-
* to encrypt contextKey records addressed to the delegate.
|
|
91
|
-
*/
|
|
92
|
-
delegateKeyDelivery?: {
|
|
93
|
-
rootKeyId: string;
|
|
94
|
-
publicKeyJwk: Record<string, any>;
|
|
95
|
-
};
|
|
96
87
|
/** Optional metadata for the connect session that created this grant. */
|
|
97
88
|
connectSession?: ConnectSessionMetadata;
|
|
98
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-types.d.ts","sourceRoot":"","sources":["../../../../src/types/permission-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAExF;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IAEX,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAEpC,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAElC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;SAEK;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC
|
|
1
|
+
{"version":3,"file":"permission-types.d.ts","sourceRoot":"","sources":["../../../../src/types/permission-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export type ProtocolsConfigureDescriptor = {
|
|
|
10
10
|
};
|
|
11
11
|
export type ProtocolDefinition = {
|
|
12
12
|
protocol: string;
|
|
13
|
+
$keyAgreement?: ProtocolKeyAgreement;
|
|
13
14
|
/**
|
|
14
15
|
* Denotes if this Protocol Definition can be returned by unauthenticated or unauthorized `ProtocolsQuery`.
|
|
15
16
|
*/
|
|
@@ -118,16 +119,9 @@ export type ProtocolActionRule = {
|
|
|
118
119
|
can: (ProtocolAction | `${ProtocolAction}` | (string & {}))[];
|
|
119
120
|
};
|
|
120
121
|
/**
|
|
121
|
-
*
|
|
122
|
+
* Public key used for protocol-path content encryption.
|
|
122
123
|
*/
|
|
123
|
-
export type
|
|
124
|
-
/**
|
|
125
|
-
* The ID of the root key that derives the public key at this protocol path for encrypting the symmetric key used for data encryption.
|
|
126
|
-
*/
|
|
127
|
-
rootKeyId: string;
|
|
128
|
-
/**
|
|
129
|
-
* Public key for encrypting the symmetric key used for data encryption.
|
|
130
|
-
*/
|
|
124
|
+
export type ProtocolKeyAgreement = {
|
|
131
125
|
publicKeyJwk: PublicKeyJwk;
|
|
132
126
|
};
|
|
133
127
|
/**
|
|
@@ -205,6 +199,7 @@ export type ProtocolTagSchema = {
|
|
|
205
199
|
exclusiveMaximum?: number;
|
|
206
200
|
minLength?: number;
|
|
207
201
|
maxLength?: number;
|
|
202
|
+
pattern?: string;
|
|
208
203
|
minItems?: number;
|
|
209
204
|
maxItems?: number;
|
|
210
205
|
uniqueItems?: boolean;
|
|
@@ -214,15 +209,15 @@ export type ProtocolTagSchema = {
|
|
|
214
209
|
/**
|
|
215
210
|
* Union of all value types that can appear as properties of a `ProtocolRuleSet`.
|
|
216
211
|
* This includes:
|
|
217
|
-
* - `$`-prefixed directive values (`$
|
|
212
|
+
* - `$`-prefixed directive values (`$keyAgreement`, `$actions`, `$role`, `$ref`, `$size`, `$tags`, `$delivery`)
|
|
218
213
|
* - Child `ProtocolRuleSet` entries (non-`$` keys)
|
|
219
214
|
*/
|
|
220
|
-
type ProtocolRuleSetValue = ProtocolRuleSet | ProtocolActionRule[] |
|
|
215
|
+
type ProtocolRuleSetValue = ProtocolRuleSet | ProtocolActionRule[] | ProtocolKeyAgreement | ProtocolTagsDefinition | ProtocolSizeDefinition | ProtocolRecordLimitDefinition | ProtocolDeliveryStrategy | boolean | string | undefined;
|
|
221
216
|
export type ProtocolRuleSet = {
|
|
222
217
|
/**
|
|
223
|
-
*
|
|
218
|
+
* Key agreement setting for records at this protocol path.
|
|
224
219
|
*/
|
|
225
|
-
$
|
|
220
|
+
$keyAgreement?: ProtocolKeyAgreement;
|
|
226
221
|
$actions?: ProtocolActionRule[];
|
|
227
222
|
/**
|
|
228
223
|
* If true, this marks a record as a `role` that may used within a context.
|
|
@@ -235,7 +230,7 @@ export type ProtocolRuleSet = {
|
|
|
235
230
|
* and `typePath` is the protocol path of the type in the external protocol's structure.
|
|
236
231
|
*
|
|
237
232
|
* A `$ref` node is a pure attachment point — it must NOT have `$actions`, `$role`, `$size`,
|
|
238
|
-
* `$tags`, or `$
|
|
233
|
+
* `$tags`, or `$keyAgreement`. Authorization for the referenced type is governed by its own
|
|
239
234
|
* protocol. Only children defined under the `$ref` node get `$actions` from the composing protocol.
|
|
240
235
|
*
|
|
241
236
|
* Example:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols-types.d.ts","sourceRoot":"","sources":["../../../../src/types/protocols-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAExF,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAG,gBAAgB,CAAC,SAAS,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;KAChC,CAAA;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAC7B,CAAC;AAEF,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,oBAAY,cAAc;IACxB,QAAQ,cAAc;IACtB,OAAO,aAAa;IACpB,QAAQ,cAAc;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,aAAa,GAAG,GAAG,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAEzD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,GAAG,EAAE,CAAC,cAAc,GAAG,GAAG,cAAc,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CAC/D,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"protocols-types.d.ts","sourceRoot":"","sources":["../../../../src/types/protocols-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { DwnEncryption } from '../utils/encryption.js';
|
|
1
2
|
import type { GeneralJws } from './jws-types.js';
|
|
2
|
-
import type { JweEncryption } from '../utils/encryption.js';
|
|
3
3
|
import type { AuthorizationModel, GenericMessage, GenericMessageReply, GenericSignaturePayload, MessageSubscription, Pagination } from './message-types.js';
|
|
4
4
|
import type { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
5
5
|
import type { PaginationCursor, RangeCriterion, RangeFilter, StartsWithFilter } from './query-types.js';
|
|
@@ -53,7 +53,7 @@ export type InternalRecordsWriteMessage = GenericMessage & {
|
|
|
53
53
|
contextId?: string;
|
|
54
54
|
descriptor: RecordsWriteDescriptor;
|
|
55
55
|
attestation?: GeneralJws;
|
|
56
|
-
encryption?:
|
|
56
|
+
encryption?: DwnEncryption;
|
|
57
57
|
};
|
|
58
58
|
export type RecordsWriteMessage = {
|
|
59
59
|
authorization: AuthorizationModel;
|
|
@@ -61,7 +61,7 @@ export type RecordsWriteMessage = {
|
|
|
61
61
|
contextId: string;
|
|
62
62
|
descriptor: RecordsWriteDescriptor;
|
|
63
63
|
attestation?: GeneralJws;
|
|
64
|
-
encryption?:
|
|
64
|
+
encryption?: DwnEncryption;
|
|
65
65
|
};
|
|
66
66
|
/**
|
|
67
67
|
* Data structure returned in a `RecordsQuery` reply entry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-types.d.ts","sourceRoot":"","sources":["../../../../src/types/records-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"records-types.d.ts","sourceRoot":"","sources":["../../../../src/types/records-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,18 @@ export interface ValidationStateReader {
|
|
|
71
71
|
recipient: string;
|
|
72
72
|
contextIdPrefix?: string;
|
|
73
73
|
}): Promise<RecordsWriteMessage[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Queries accepted audience epoch records in the Encryption Protocol.
|
|
76
|
+
* The optional `keyId` narrows the lookup to one published audience key.
|
|
77
|
+
*/
|
|
78
|
+
queryAudienceEpochs(input: {
|
|
79
|
+
tenant: string;
|
|
80
|
+
protocol: string;
|
|
81
|
+
contextId: string;
|
|
82
|
+
role: string;
|
|
83
|
+
epoch: number;
|
|
84
|
+
keyId?: string;
|
|
85
|
+
}): Promise<RecordsWriteMessage[]>;
|
|
74
86
|
/**
|
|
75
87
|
* Fetches the permission grant with the given record ID, with its scope parsed from grant data.
|
|
76
88
|
* @throws {DwnError} with `GrantAuthorizationGrantMissing` when the grant does not exist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-state-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/validation-state-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7G;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhF;;;OAGG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3G;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAExF;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErH;;;OAGG;IACH,8BAA8B,CAAC,KAAK,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF"}
|
|
1
|
+
{"version":3,"file":"validation-state-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/validation-state-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,172 +1,88 @@
|
|
|
1
1
|
import type { Jwk } from '@enbox/crypto';
|
|
2
2
|
import type { PublicKeyJwk } from '../types/jose-types.js';
|
|
3
3
|
import { KeyDerivationScheme } from './hd-key.js';
|
|
4
|
-
/**
|
|
5
|
-
* Content encryption algorithms supported by the DWN.
|
|
6
|
-
* Both are AEAD (Authenticated Encryption with Associated Data) ciphers.
|
|
7
|
-
*/
|
|
8
4
|
export declare enum ContentEncryptionAlgorithm {
|
|
9
|
-
|
|
10
|
-
A256GCM = "A256GCM",
|
|
11
|
-
/** XChaCha20-Poly1305. 192-bit nonce (safe to randomize). Constant-time. */
|
|
12
|
-
XC20P = "XC20P"
|
|
5
|
+
A256CTR = "A256CTR"
|
|
13
6
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Key agreement algorithm used by the DWN.
|
|
16
|
-
* ECDH-ES with X25519 key agreement and AES-256 Key Wrap.
|
|
17
|
-
*/
|
|
18
7
|
export declare enum KeyAgreementAlgorithm {
|
|
19
|
-
|
|
8
|
+
X25519HkdfSha256A256Kw = "X25519-HKDF-SHA256+A256KW"
|
|
20
9
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
export declare const ROLE_AUDIENCE_DERIVATION_SCHEME = "roleAudience";
|
|
11
|
+
export type ProtocolPathKeyEncryption = {
|
|
12
|
+
algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw;
|
|
13
|
+
keyId: string;
|
|
14
|
+
derivationScheme: KeyDerivationScheme.ProtocolPath;
|
|
15
|
+
ephemeralPublicKey: PublicKeyJwk;
|
|
16
|
+
encryptedKey: string;
|
|
27
17
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
derivationScheme: KeyDerivationScheme;
|
|
38
|
-
/** Derived public key. Present when derivationScheme is 'protocolContext'. */
|
|
39
|
-
derivedPublicKey?: PublicKeyJwk;
|
|
18
|
+
export type RoleAudienceKeyEncryption = {
|
|
19
|
+
algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw;
|
|
20
|
+
keyId: string;
|
|
21
|
+
derivationScheme: typeof ROLE_AUDIENCE_DERIVATION_SCHEME;
|
|
22
|
+
protocol: string;
|
|
23
|
+
role: string;
|
|
24
|
+
epoch: number;
|
|
25
|
+
ephemeralPublicKey: PublicKeyJwk;
|
|
26
|
+
encryptedKey: string;
|
|
40
27
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
28
|
+
export type KeyEncryption = ProtocolPathKeyEncryption | RoleAudienceKeyEncryption;
|
|
29
|
+
export type X25519KeyEncryption = ProtocolPathKeyEncryption | RoleAudienceKeyEncryption;
|
|
30
|
+
export type DwnEncryption = {
|
|
31
|
+
algorithm: ContentEncryptionAlgorithm.A256CTR;
|
|
32
|
+
initializationVector: string;
|
|
33
|
+
keyEncryption: KeyEncryption[];
|
|
47
34
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* the `ciphertext` is NOT included here because the encrypted record data is stored separately
|
|
53
|
-
* in the DataStore (or as inline `encodedData`). Only the key wrapping metadata, IV, and
|
|
54
|
-
* authentication tag are stored in this structure.
|
|
55
|
-
*/
|
|
56
|
-
export type JweEncryption = {
|
|
57
|
-
/** Base64url-encoded JWE Protected Header. */
|
|
58
|
-
protected: string;
|
|
59
|
-
/** Base64url-encoded initialization vector for content encryption. */
|
|
60
|
-
iv: string;
|
|
61
|
-
/** Base64url-encoded authentication tag from the AEAD cipher. */
|
|
62
|
-
tag: string;
|
|
63
|
-
/** Array of recipient entries, one per recipient or derivation path. */
|
|
64
|
-
recipients: JweRecipient[];
|
|
35
|
+
export type ProtocolPathKeyEncryptionInput = {
|
|
36
|
+
keyId: string;
|
|
37
|
+
publicKey: PublicKeyJwk;
|
|
38
|
+
derivationScheme: KeyDerivationScheme.ProtocolPath;
|
|
65
39
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
*/
|
|
69
|
-
export type KeyEncryptionInput = {
|
|
70
|
-
/** Fully qualified key ID of the recipient's root encryption key. */
|
|
71
|
-
publicKeyId: string;
|
|
72
|
-
/** The recipient's derived X25519 public key. */
|
|
40
|
+
export type RoleAudienceKeyEncryptionInput = {
|
|
41
|
+
keyId: string;
|
|
73
42
|
publicKey: PublicKeyJwk;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
43
|
+
derivationScheme: typeof ROLE_AUDIENCE_DERIVATION_SCHEME;
|
|
44
|
+
protocol: string;
|
|
45
|
+
role: string;
|
|
46
|
+
epoch: number;
|
|
78
47
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
*/
|
|
48
|
+
export type KeyEncryptionInput = ProtocolPathKeyEncryptionInput | RoleAudienceKeyEncryptionInput;
|
|
49
|
+
export type X25519KeyEncryptionInput = ProtocolPathKeyEncryptionInput | RoleAudienceKeyEncryptionInput;
|
|
82
50
|
export type EncryptionInput = {
|
|
83
|
-
/** Content encryption algorithm. Defaults to A256GCM. */
|
|
84
51
|
algorithm?: ContentEncryptionAlgorithm;
|
|
85
|
-
/** The Content Encryption Key (CEK). Must be 32 bytes (256-bit). */
|
|
86
52
|
key: Uint8Array;
|
|
87
|
-
/** Initialization vector. 12 bytes for A256GCM, 24 bytes for XC20P. */
|
|
88
53
|
initializationVector: Uint8Array;
|
|
89
|
-
/** Authentication tag from the AEAD encryption of the record data. */
|
|
90
|
-
authenticationTag: Uint8Array;
|
|
91
|
-
/** Recipient key encryption inputs. */
|
|
92
54
|
keyEncryptionInputs: KeyEncryptionInput[];
|
|
93
55
|
};
|
|
94
|
-
|
|
95
|
-
* Payload passed to a KeyDecrypter callback for JWE-based key unwrapping.
|
|
96
|
-
*/
|
|
97
|
-
export type JweKeyUnwrapPayload = {
|
|
98
|
-
/** The wrapped CEK bytes. */
|
|
56
|
+
export type KeyUnwrapPayload = {
|
|
99
57
|
encryptedKey: Uint8Array;
|
|
100
|
-
/** The ephemeral X25519 public key used for ECDH. */
|
|
101
58
|
ephemeralPublicKey: PublicKeyJwk;
|
|
59
|
+
keyEncryption: KeyEncryption;
|
|
102
60
|
};
|
|
103
|
-
/**
|
|
104
|
-
* Utility class for DWN encryption operations using JWE (RFC 7516).
|
|
105
|
-
* Uses ECDH-ES+A256KW key agreement with X25519 and either AES-256-GCM or XChaCha20-Poly1305
|
|
106
|
-
* for authenticated content encryption.
|
|
107
|
-
*/
|
|
108
61
|
export declare class Encryption {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
static
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}>;
|
|
117
|
-
/**
|
|
118
|
-
* Decrypts data using an AEAD cipher (A256GCM or XC20P).
|
|
119
|
-
* Expects ciphertext and tag as separate inputs.
|
|
120
|
-
*/
|
|
121
|
-
static aeadDecrypt(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, iv: Uint8Array, ciphertext: Uint8Array, tag: Uint8Array): Promise<Uint8Array>;
|
|
122
|
-
/**
|
|
123
|
-
* Encrypts data as a ReadableStream using an AEAD cipher.
|
|
124
|
-
* Collects all chunks, encrypts, and returns a new stream of ciphertext || tag.
|
|
125
|
-
* The iv and tag are NOT embedded in the stream — they are stored in the JWE structure.
|
|
126
|
-
*/
|
|
127
|
-
static aeadEncryptStream(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, iv: Uint8Array, plaintextStream: ReadableStream<Uint8Array>): Promise<{
|
|
128
|
-
ciphertextStream: ReadableStream<Uint8Array>;
|
|
129
|
-
tag: Uint8Array;
|
|
62
|
+
static encrypt(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, initializationVector: Uint8Array, plaintext: Uint8Array): Promise<Uint8Array>;
|
|
63
|
+
static decrypt(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, initializationVector: Uint8Array, ciphertext: Uint8Array): Promise<Uint8Array>;
|
|
64
|
+
static encryptStream(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, initializationVector: Uint8Array, plaintextStream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
|
|
65
|
+
static decryptStream(algorithm: ContentEncryptionAlgorithm, keyBytes: Uint8Array, initializationVector: Uint8Array, ciphertextStream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
|
|
66
|
+
static wrapKey(recipientPublicKey: PublicKeyJwk, cek: Uint8Array, keyInput: KeyEncryptionInput, ephemeralPrivateKey?: Jwk): Promise<{
|
|
67
|
+
encryptedKey: Uint8Array;
|
|
68
|
+
ephemeralPublicKey: PublicKeyJwk;
|
|
130
69
|
}>;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
static
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
static
|
|
145
|
-
|
|
146
|
-
* Performs ECDH-ES key agreement with X25519 and unwraps the CEK using AES-256 Key Unwrap.
|
|
147
|
-
*
|
|
148
|
-
* @param recipientPrivateKey - Recipient's X25519 private key (JWK).
|
|
149
|
-
* @param ephemeralPublicKey - Ephemeral X25519 public key from the JWE recipient header (JWK).
|
|
150
|
-
* @param wrappedKey - The wrapped CEK bytes.
|
|
151
|
-
* @returns The unwrapped CEK bytes.
|
|
152
|
-
*/
|
|
153
|
-
static ecdhEsUnwrapKey(recipientPrivateKey: Jwk, ephemeralPublicKey: Jwk, wrappedKey: Uint8Array): Promise<Uint8Array>;
|
|
154
|
-
/**
|
|
155
|
-
* Builds a JWE encryption property structure from encryption input.
|
|
156
|
-
* The ciphertext (encrypted record data) is stored separately in the DataStore,
|
|
157
|
-
* so only the key wrapping metadata, IV, and authentication tag are included here.
|
|
158
|
-
*
|
|
159
|
-
* @param encryptionInput - Describes the CEK, IV, and recipient key encryption inputs.
|
|
160
|
-
* @param tag - The authentication tag produced by the AEAD cipher during data encryption.
|
|
161
|
-
*/
|
|
162
|
-
static buildJwe(encryptionInput: EncryptionInput, tag: Uint8Array): Promise<JweEncryption>;
|
|
163
|
-
/**
|
|
164
|
-
* Parses the JWE protected header from its base64url encoding.
|
|
165
|
-
*/
|
|
166
|
-
static parseProtectedHeader(protectedBase64url: string): JweProtectedHeader;
|
|
167
|
-
/**
|
|
168
|
-
* Reads a ReadableStream to completion and returns all bytes concatenated.
|
|
169
|
-
*/
|
|
70
|
+
private static wrapX25519Key;
|
|
71
|
+
static unwrapKey(recipientPrivateKey: Jwk, keyEncryption: KeyEncryption): Promise<Uint8Array>;
|
|
72
|
+
private static unwrapX25519Key;
|
|
73
|
+
static buildEncryptionProperty(encryptionInput: EncryptionInput): Promise<DwnEncryption>;
|
|
74
|
+
static getKeyId(publicKeyJwk: PublicKeyJwk): Promise<string>;
|
|
75
|
+
static validateEncryptionProperty(encryption: DwnEncryption): void;
|
|
76
|
+
private static buildKeyEncryptionEntry;
|
|
77
|
+
private static validateKeyEncryptionEntry;
|
|
78
|
+
private static validateX25519KeyEncryptionEntry;
|
|
79
|
+
private static deriveKek;
|
|
80
|
+
private static getKekInfo;
|
|
81
|
+
private static validateContentEncryptionParameters;
|
|
82
|
+
private static validateContentEncryptionKey;
|
|
83
|
+
private static validateSharedSecret;
|
|
84
|
+
private static toA256CtrJwk;
|
|
170
85
|
private static readStream;
|
|
86
|
+
private static toStream;
|
|
171
87
|
}
|
|
172
88
|
//# sourceMappingURL=encryption.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { PrivateKeyJwk, PublicKeyJwk } from '../types/jose-types.js';
|
|
2
2
|
export declare enum KeyDerivationScheme {
|
|
3
|
-
ProtocolContext = "protocolContext",
|
|
4
3
|
ProtocolPath = "protocolPath"
|
|
5
4
|
}
|
|
6
5
|
export type DerivedPrivateJwk = {
|
|
7
6
|
rootKeyId: string;
|
|
7
|
+
keyId?: string;
|
|
8
8
|
derivationScheme: KeyDerivationScheme;
|
|
9
9
|
derivationPath?: string[];
|
|
10
10
|
derivedPrivateKey: PrivateKeyJwk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hd-key.d.ts","sourceRoot":"","sources":["../../../../src/utils/hd-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO1E,oBAAY,mBAAmB;IAC7B,
|
|
1
|
+
{"version":3,"file":"hd-key.d.ts","sourceRoot":"","sources":["../../../../src/utils/hd-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO1E,oBAAY,mBAAmB;IAC7B,YAAY,iBAAiB;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,aAAa,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAK;IAChB;;;OAGG;WACiB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAe7H;;;OAGG;WACiB,eAAe,CAAC,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAOvH;;OAEG;WACiB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB9G;;OAEG;WACiB,kBAAkB,CAAC,MAAM,EAAE;QAC7C,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QACjD,kBAAkB,EAAE,UAAU,CAAC;QAC/B,IAAI,EAAE,UAAU,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAA;KACzB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBvB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAKzC"}
|