@enbox/dwn-sdk-js 0.4.8 → 0.4.10
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 +1 -1
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +1262 -3888
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/constants.js +0 -26
- package/dist/esm/src/core/constants.js.map +1 -1
- package/dist/esm/src/core/encryption-control.js +0 -10
- package/dist/esm/src/core/encryption-control.js.map +1 -1
- package/dist/esm/src/core/replication-apply.js.map +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +0 -9
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/store/index-level-compound.js.map +1 -1
- package/dist/esm/src/store/level-wrapper.js +6 -2
- package/dist/esm/src/store/level-wrapper.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +2 -7
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +0 -27
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/jws.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +23 -51
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +17 -31
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/tests/core/constants.spec.js +1 -11
- package/dist/esm/tests/core/constants.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +5 -5
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/features/author-delegated-grant.spec.js +16 -16
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +7 -7
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/permissions.spec.js +8 -8
- package/dist/esm/tests/features/permissions.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +18 -63
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/features/records-prune-cross-protocol.spec.js +5 -5
- package/dist/esm/tests/features/records-prune-cross-protocol.spec.js.map +1 -1
- package/dist/esm/tests/features/records-prune.spec.js +15 -15
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
- package/dist/esm/tests/features/records-squash.spec.js +9 -9
- package/dist/esm/tests/features/records-squash.spec.js.map +1 -1
- package/dist/esm/tests/features/records-tags.spec.js +28 -28
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
- package/dist/esm/tests/features/resumable-tasks.spec.js +3 -3
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/data-stream.fuzz.spec.js +2 -2
- package/dist/esm/tests/fuzz/data-stream.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js +1 -1
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/records-utils.fuzz.spec.js +2 -2
- package/dist/esm/tests/fuzz/records-utils.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/resumable-task-store.fuzz.spec.js +4 -4
- package/dist/esm/tests/fuzz/resumable-task-store.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +16 -16
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-configure.spec.js +5 -5
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-query.spec.js +11 -11
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-delete.spec.js +23 -23
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +120 -120
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +16 -14
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +10 -10
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +41 -41
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +9 -9
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +5 -51
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/jose/jws/general.spec.js +4 -4
- package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +2 -2
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/subscriptions.spec.js +28 -28
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-mock.spec.js +1 -1
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
- package/dist/esm/tests/store/data-store-level.spec.js +3 -3
- package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +83 -83
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +2 -2
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +30 -30
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/store-dependent-tests.spec.js +5 -0
- package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -1
- package/dist/esm/tests/utils/data-stream.spec.js +15 -15
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +18 -30
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-control-test-utils.js +1 -1
- package/dist/esm/tests/utils/encryption-control-test-utils.js.map +1 -1
- package/dist/esm/tests/utils/encryption.spec.js +31 -34
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/messages.spec.js +8 -8
- package/dist/esm/tests/utils/messages.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256k1.spec.js +2 -2
- package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +76 -24
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +1 -1
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
- package/dist/types/generated/precompiled-validators.d.ts +88 -120
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/constants.d.ts +0 -13
- package/dist/types/src/core/constants.d.ts.map +1 -1
- package/dist/types/src/core/encryption-control.d.ts +0 -1
- package/dist/types/src/core/encryption-control.d.ts.map +1 -1
- package/dist/types/src/core/replication-apply.d.ts +0 -7
- package/dist/types/src/core/replication-apply.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-subscribe.d.ts +1 -2
- package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +0 -4
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/store/index-level-compound.d.ts +2 -4
- package/dist/types/src/store/index-level-compound.d.ts.map +1 -1
- package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +1 -1
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/utils/encryption.d.ts +0 -3
- package/dist/types/src/utils/encryption.d.ts.map +1 -1
- package/dist/types/src/utils/hd-key.d.ts +1 -11
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/jws.d.ts +1 -2
- package/dist/types/src/utils/jws.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +2 -7
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +1 -8
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
- 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 +17 -1
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/constants.ts +0 -30
- package/src/core/encryption-control.ts +1 -17
- package/src/core/replication-apply.ts +0 -8
- package/src/index.ts +0 -1
- package/src/interfaces/messages-subscribe.ts +1 -2
- package/src/interfaces/records-write.ts +0 -13
- package/src/store/index-level-compound.ts +2 -5
- package/src/store/level-wrapper.ts +6 -2
- package/src/types/protocols-types.ts +2 -1
- package/src/utils/encryption.ts +2 -15
- package/src/utils/hd-key.ts +1 -32
- package/src/utils/jws.ts +1 -2
- package/src/utils/protocols.ts +15 -78
- package/src/utils/records.ts +15 -57
- package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js +0 -47
- package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js.map +0 -1
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +0 -72
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +0 -1
- package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts +0 -2
- package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts.map +0 -1
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +0 -2
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-callbacks.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-callbacks.spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,UAAyB,CAAC;IAC9B,IAAI,SAAiB,CAAC;IAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,EAAmB,CAAC;QACzD,SAAS,GAAG,uBAAuB,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC/D,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"encryption-callbacks.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-callbacks.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { Encryption, KeyAgreementAlgorithm } from '../../src/utils/encryption.js
|
|
|
8
8
|
import { ENCRYPTION_CONTROL_AUDIENCE_PATH, ENCRYPTION_CONTROL_DELIVERY_PATH } from '../../src/core/constants.js';
|
|
9
9
|
import { Protocols, RecordsWrite } from '../../src/index.js';
|
|
10
10
|
export async function installEncryptedProtocol(dwn, author, protocolDefinition) {
|
|
11
|
-
const encryptedProtocolDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, author.keyId, author.encryptionKeyPair.privateJwk);
|
|
11
|
+
const encryptedProtocolDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, TestDataGenerator.createProtocolPathKeyDeriver(author.keyId, author.encryptionKeyPair.privateJwk));
|
|
12
12
|
const protocolConfig = await TestDataGenerator.generateProtocolsConfigure({
|
|
13
13
|
author,
|
|
14
14
|
protocolDefinition: encryptedProtocolDefinition,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-control-test-utils.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-control-test-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAS7D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAQ,EACR,MAAe,EACf,kBAAsC;IAEtC,MAAM,2BAA2B,GAAG,MAAM,SAAS,CAAC,mCAAmC,CACrF,kBAAkB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"encryption-control-test-utils.js","sourceRoot":"","sources":["../../../../tests/utils/encryption-control-test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,11 @@ import { DwnErrorCode } from '../../src/core/dwn-error.js';
|
|
|
5
5
|
import { Encoder } from '../../src/utils/encoder.js';
|
|
6
6
|
import { KeyDerivationScheme } from '../../src/utils/hd-key.js';
|
|
7
7
|
import { Records } from '../../src/utils/records.js';
|
|
8
|
+
import sinon from 'sinon';
|
|
8
9
|
import { TestDataGenerator } from './test-data-generator.js';
|
|
9
10
|
import { X25519 } from '@enbox/crypto';
|
|
11
|
+
import { afterEach, describe, expect, it } from 'bun:test';
|
|
10
12
|
import { ContentEncryptionAlgorithm, Encryption, KeyAgreementAlgorithm, ROLE_AUDIENCE_DERIVATION_SCHEME, SEAL_DERIVATION_SCHEME } from '../../src/utils/encryption.js';
|
|
11
|
-
import { describe, expect, it } from 'bun:test';
|
|
12
13
|
const boundarySizes = [0, 1, 15, 16, 17, 32, 256];
|
|
13
14
|
async function createEncryptedRecordFixture(plaintext = TestDataGenerator.randomBytes(64)) {
|
|
14
15
|
const recipientPrivateKey = await X25519.generateKey();
|
|
@@ -52,6 +53,9 @@ async function createEncryptedRecordFixture(plaintext = TestDataGenerator.random
|
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
describe('Encryption', () => {
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
sinon.restore();
|
|
58
|
+
});
|
|
55
59
|
describe('A256CTR', () => {
|
|
56
60
|
it('should encrypt and decrypt bytes correctly', async () => {
|
|
57
61
|
const key = TestDataGenerator.randomBytes(32);
|
|
@@ -61,13 +65,13 @@ describe('Encryption', () => {
|
|
|
61
65
|
const plaintext = await Encryption.decrypt(ContentEncryptionAlgorithm.A256CTR, key, iv, ciphertext);
|
|
62
66
|
expect(ArrayUtility.byteArraysEqual(inputBytes, plaintext)).toBe(true);
|
|
63
67
|
});
|
|
64
|
-
it('should encrypt
|
|
68
|
+
it('should encrypt a stream into ciphertext that decrypts back to the plaintext', async () => {
|
|
65
69
|
const key = TestDataGenerator.randomBytes(32);
|
|
66
70
|
const iv = TestDataGenerator.randomBytes(16);
|
|
67
71
|
const inputBytes = TestDataGenerator.randomBytes(1_000_000);
|
|
68
72
|
const ciphertextStream = await Encryption.encryptStream(ContentEncryptionAlgorithm.A256CTR, key, iv, DataStream.fromBytes(inputBytes));
|
|
69
|
-
const
|
|
70
|
-
const plaintextBytes = await
|
|
73
|
+
const ciphertextBytes = await DataStream.toBytes(ciphertextStream);
|
|
74
|
+
const plaintextBytes = await Encryption.decrypt(ContentEncryptionAlgorithm.A256CTR, key, iv, ciphertextBytes);
|
|
71
75
|
expect(ArrayUtility.byteArraysEqual(inputBytes, plaintextBytes)).toBe(true);
|
|
72
76
|
});
|
|
73
77
|
it('should handle boundary plaintext sizes', async () => {
|
|
@@ -77,7 +81,7 @@ describe('Encryption', () => {
|
|
|
77
81
|
const inputBytes = size === 0 ? new Uint8Array(0) : TestDataGenerator.randomBytes(size);
|
|
78
82
|
const ciphertext = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, key, iv, inputBytes);
|
|
79
83
|
const plaintext = await Encryption.decrypt(ContentEncryptionAlgorithm.A256CTR, key, iv, ciphertext);
|
|
80
|
-
expect(plaintext
|
|
84
|
+
expect(plaintext).toHaveLength(size);
|
|
81
85
|
expect(ArrayUtility.byteArraysEqual(inputBytes, plaintext)).toBe(true);
|
|
82
86
|
}
|
|
83
87
|
});
|
|
@@ -140,7 +144,6 @@ describe('Encryption', () => {
|
|
|
140
144
|
it('should domain-separate role-audience KEKs without delimiter ambiguity', async () => {
|
|
141
145
|
const recipientPrivateKey = await X25519.generateKey();
|
|
142
146
|
const recipientPublicKey = await X25519.getPublicKey({ key: recipientPrivateKey });
|
|
143
|
-
const ephemeralPrivateKey = await X25519.generateKey();
|
|
144
147
|
const cek = TestDataGenerator.randomBytes(32);
|
|
145
148
|
const keyId = await Encryption.getKeyId(recipientPublicKey);
|
|
146
149
|
const baseKeyInput = {
|
|
@@ -149,41 +152,32 @@ describe('Encryption', () => {
|
|
|
149
152
|
keyId,
|
|
150
153
|
publicKey: recipientPublicKey,
|
|
151
154
|
};
|
|
152
|
-
const
|
|
155
|
+
const wrappedKey = await Encryption.wrapKey({
|
|
153
156
|
cek,
|
|
154
|
-
ephemeralPrivateKey,
|
|
155
157
|
keyInput: {
|
|
156
158
|
...baseKeyInput,
|
|
157
159
|
protocol: 'https://example.com/a|b',
|
|
158
160
|
rolePath: 'c',
|
|
159
161
|
},
|
|
160
162
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
ephemeralPrivateKey,
|
|
164
|
-
keyInput: {
|
|
165
|
-
...baseKeyInput,
|
|
166
|
-
protocol: 'https://example.com/a',
|
|
167
|
-
rolePath: 'b|c',
|
|
168
|
-
},
|
|
169
|
-
});
|
|
170
|
-
expect(ArrayUtility.byteArraysEqual(wrappedKey1.encryptedKey, wrappedKey2.encryptedKey)).toBe(false);
|
|
171
|
-
const unwrapped1 = await Encryption.unwrapKey(recipientPrivateKey, {
|
|
163
|
+
// unwrapping with the exact (protocol, rolePath) pair used for wrapping round-trips the CEK
|
|
164
|
+
const unwrapped = await Encryption.unwrapKey(recipientPrivateKey, {
|
|
172
165
|
...baseKeyInput,
|
|
173
|
-
encryptedKey: Encoder.bytesToBase64Url(
|
|
174
|
-
ephemeralPublicKey:
|
|
166
|
+
encryptedKey: Encoder.bytesToBase64Url(wrappedKey.encryptedKey),
|
|
167
|
+
ephemeralPublicKey: wrappedKey.ephemeralPublicKey,
|
|
175
168
|
protocol: 'https://example.com/a|b',
|
|
176
169
|
rolePath: 'c',
|
|
177
170
|
});
|
|
178
|
-
|
|
171
|
+
expect(ArrayUtility.byteArraysEqual(unwrapped, cek)).toBe(true);
|
|
172
|
+
// a delimiter-shifted (protocol, rolePath) pair must derive a different KEK, so unwrapping must fail;
|
|
173
|
+
// a naive delimiter-joined KEK info would make both pairs derive the same KEK and let this unwrap succeed
|
|
174
|
+
await expect(Encryption.unwrapKey(recipientPrivateKey, {
|
|
179
175
|
...baseKeyInput,
|
|
180
|
-
encryptedKey: Encoder.bytesToBase64Url(
|
|
181
|
-
ephemeralPublicKey:
|
|
176
|
+
encryptedKey: Encoder.bytesToBase64Url(wrappedKey.encryptedKey),
|
|
177
|
+
ephemeralPublicKey: wrappedKey.ephemeralPublicKey,
|
|
182
178
|
protocol: 'https://example.com/a',
|
|
183
179
|
rolePath: 'b|c',
|
|
184
|
-
});
|
|
185
|
-
expect(ArrayUtility.byteArraysEqual(unwrapped1, cek)).toBe(true);
|
|
186
|
-
expect(ArrayUtility.byteArraysEqual(unwrapped2, cek)).toBe(true);
|
|
180
|
+
})).rejects.toThrow();
|
|
187
181
|
});
|
|
188
182
|
it('should produce and open the sealed-audience-key fixture byte-for-byte', async () => {
|
|
189
183
|
const protocol = 'https://example.org/protocols/seal-fixture';
|
|
@@ -221,8 +215,9 @@ describe('Encryption', () => {
|
|
|
221
215
|
x: '-6WJjols0E4zpawS9S2povLwkpYNUcwGEXD2YSvD7Bc',
|
|
222
216
|
};
|
|
223
217
|
const audiencePrivateKeyBytes = await X25519.privateKeyToBytes({ privateKey: audiencePrivateKey });
|
|
218
|
+
// pin the ephemeral key pair generated inside `wrapSeal()` so the fixture stays byte-for-byte deterministic
|
|
219
|
+
sinon.stub(X25519, 'generateKey').resolves(ephemeralPrivateKey);
|
|
224
220
|
const seal = await Encryption.wrapSeal({
|
|
225
|
-
ephemeralPrivateKey,
|
|
226
221
|
privateKeyBytes: audiencePrivateKeyBytes,
|
|
227
222
|
keyInput: {
|
|
228
223
|
algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
|
|
@@ -358,20 +353,22 @@ describe('Encryption', () => {
|
|
|
358
353
|
},
|
|
359
354
|
};
|
|
360
355
|
const dummyKey = await X25519.generateKey();
|
|
361
|
-
|
|
362
|
-
derivedPrivateKey: dummyKey,
|
|
356
|
+
const keyDecrypter = TestDataGenerator.createKeyDecrypter({
|
|
363
357
|
derivationScheme: KeyDerivationScheme.ProtocolPath,
|
|
358
|
+
derivedPrivateKey: dummyKey,
|
|
364
359
|
rootKeyId: 'did:example:alice#enc',
|
|
365
|
-
}
|
|
360
|
+
});
|
|
361
|
+
await expect(Records.decrypt(messageWithoutEncryption, keyDecrypter, DataStream.fromBytes(TestDataGenerator.randomBytes(32)))).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
|
|
366
362
|
});
|
|
367
363
|
it('should validate encrypted data CID before returning plaintext', async () => {
|
|
368
364
|
const { ciphertext, message, recipientPrivateKey, } = await createEncryptedRecordFixture(Encoder.stringToBytes('secret'));
|
|
369
365
|
const wrongCiphertext = TestDataGenerator.randomBytes(ciphertext.length);
|
|
370
|
-
|
|
371
|
-
derivedPrivateKey: recipientPrivateKey,
|
|
366
|
+
const keyDecrypter = TestDataGenerator.createKeyDecrypter({
|
|
372
367
|
derivationScheme: KeyDerivationScheme.ProtocolPath,
|
|
368
|
+
derivedPrivateKey: recipientPrivateKey,
|
|
373
369
|
rootKeyId: 'did:example:alice#enc',
|
|
374
|
-
}
|
|
370
|
+
});
|
|
371
|
+
await expect(Records.decrypt(message, keyDecrypter, DataStream.fromBytes(wrongCiphertext))).rejects.toThrow(DwnErrorCode.RecordsWriteDataCidMismatch);
|
|
375
372
|
});
|
|
376
373
|
it('should propagate errors thrown by KeyDecrypter.decrypt()', async () => {
|
|
377
374
|
const { ciphertext, message, recipientPublicKey, } = await createEncryptedRecordFixture();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encryption.spec.js","sourceRoot":"","sources":["../../../../tests/utils/encryption.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ describe('Messages Utils', () => {
|
|
|
60
60
|
method: DwnMethodName.Write
|
|
61
61
|
};
|
|
62
62
|
const messageFilter = Messages.convertFilters([messagesFilter]);
|
|
63
|
-
expect(messageFilter
|
|
63
|
+
expect(messageFilter).toHaveLength(1);
|
|
64
64
|
expect(messageFilter[0].interface).toBe(DwnInterfaceName.Records);
|
|
65
65
|
expect(messageFilter[0].method).toEqual(DwnMethodName.Write);
|
|
66
66
|
});
|
|
@@ -77,15 +77,15 @@ describe('Messages Utils', () => {
|
|
|
77
77
|
// the first filter should be the protocol tag filter applied to the permissions protocol uri
|
|
78
78
|
// the second filter should be the remaining filter, only containing a protocol filter to the protocol we are targeting
|
|
79
79
|
const protocolMessageFilter = Messages.convertFilters([protocolMessagesFilter], coreProtocols);
|
|
80
|
-
expect(protocolMessageFilter
|
|
80
|
+
expect(protocolMessageFilter).toHaveLength(2);
|
|
81
81
|
const permissionRecordsFilter = protocolMessageFilter[0];
|
|
82
82
|
// should have two filter properties: protocol tag filter and a protocol filter for the permissions protocol
|
|
83
|
-
expect(Object.keys(permissionRecordsFilter)
|
|
83
|
+
expect(Object.keys(permissionRecordsFilter)).toHaveLength(2);
|
|
84
84
|
expect(permissionRecordsFilter['tag.protocol']).toBe(exampleProtocol);
|
|
85
85
|
expect(permissionRecordsFilter.protocol).toBe(PermissionsProtocol.uri);
|
|
86
86
|
// should only have a protocol filter for the targeted protocol
|
|
87
87
|
const remainingFilter = protocolMessageFilter[1];
|
|
88
|
-
expect(Object.keys(remainingFilter)
|
|
88
|
+
expect(Object.keys(remainingFilter)).toHaveLength(1);
|
|
89
89
|
expect(remainingFilter.protocol).toBe(exampleProtocol);
|
|
90
90
|
// with other filters in addition to the filtered protocol
|
|
91
91
|
const otherMessagesFilter = {
|
|
@@ -94,15 +94,15 @@ describe('Messages Utils', () => {
|
|
|
94
94
|
method: DwnMethodName.Write
|
|
95
95
|
};
|
|
96
96
|
const messageFilter = Messages.convertFilters([otherMessagesFilter], coreProtocols);
|
|
97
|
-
expect(messageFilter
|
|
97
|
+
expect(messageFilter).toHaveLength(2);
|
|
98
98
|
const protocolTagFilter2 = messageFilter[0];
|
|
99
99
|
// should have two filter properties: protocol tag filter and a protocol filter for the permissions protocol
|
|
100
|
-
expect(Object.keys(protocolTagFilter2)
|
|
100
|
+
expect(Object.keys(protocolTagFilter2)).toHaveLength(2);
|
|
101
101
|
expect(permissionRecordsFilter['tag.protocol']).toBe(exampleProtocol);
|
|
102
102
|
expect(permissionRecordsFilter.protocol).toBe(PermissionsProtocol.uri);
|
|
103
103
|
const remainingFilter2 = messageFilter[1];
|
|
104
104
|
// should have the remaining filters
|
|
105
|
-
expect(Object.keys(remainingFilter2)
|
|
105
|
+
expect(Object.keys(remainingFilter2)).toHaveLength(3);
|
|
106
106
|
expect(remainingFilter2.protocol).toBe(exampleProtocol);
|
|
107
107
|
expect(remainingFilter2.interface).toBe(DwnInterfaceName.Records);
|
|
108
108
|
expect(remainingFilter2.method).toEqual(DwnMethodName.Write);
|
|
@@ -119,7 +119,7 @@ describe('Messages Utils', () => {
|
|
|
119
119
|
messageTimestamp: { from: dateUpdatedTimestamp }
|
|
120
120
|
};
|
|
121
121
|
const messageFilter = Messages.convertFilters([withDateUpdatedFilter], coreProtocols);
|
|
122
|
-
expect(messageFilter
|
|
122
|
+
expect(messageFilter).toHaveLength(2);
|
|
123
123
|
expect(messageFilter[0].protocol).toBe(PermissionsProtocol.uri);
|
|
124
124
|
expect(messageFilter[0]['tag.protocol']).toBe(exampleProtocol);
|
|
125
125
|
expect(messageFilter[0].messageTimestamp).toEqual(messageTimestampFilterResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.spec.js","sourceRoot":"","sources":["../../../../tests/utils/messages.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messages.spec.js","sourceRoot":"","sources":["../../../../tests/utils/messages.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ describe('Secp256k1', () => {
|
|
|
7
7
|
describe('generateKeyPairRaw()', () => {
|
|
8
8
|
it('should generate compressed publicKey', async () => {
|
|
9
9
|
const { publicKey } = await Secp256k1.generateKeyPairRaw();
|
|
10
|
-
expect(publicKey
|
|
10
|
+
expect(publicKey).toHaveLength(33);
|
|
11
11
|
});
|
|
12
12
|
});
|
|
13
13
|
describe('validateKey()', () => {
|
|
@@ -34,7 +34,7 @@ describe('Secp256k1', () => {
|
|
|
34
34
|
const { privateJwk } = await Secp256k1.generateKeyPair();
|
|
35
35
|
const contentBytes = TestDataGenerator.randomBytes(16);
|
|
36
36
|
const signatureBytes = await Secp256k1.sign(contentBytes, privateJwk);
|
|
37
|
-
expect(signatureBytes
|
|
37
|
+
expect(signatureBytes).toHaveLength(64); // DER format would be 70 bytes
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256k1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256k1.spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"secp256k1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256k1.spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,YAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC1H,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,YAAY,EAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAChJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;YAC1G,MAAM,kCAAkC,GAAG,8CAA8C,CAAC;YAC1F,MAAM,oCAAoC,GAAG,yFAAyF,CAAC;YAEvI,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YAEzF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAEzE,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtE,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -40,7 +40,7 @@ describe('Secp256r1', () => {
|
|
|
40
40
|
const { privateJwk } = await Secp256r1.generateKeyPair();
|
|
41
41
|
const contentBytes = TestDataGenerator.randomBytes(16);
|
|
42
42
|
const signatureBytes = await Secp256r1.sign(contentBytes, privateJwk);
|
|
43
|
-
expect(signatureBytes
|
|
43
|
+
expect(signatureBytes).toHaveLength(64); // DER format would be 70 bytes
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256r1.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"secp256r1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256r1.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { DidKey } from '@enbox/dids';
|
|
|
5
5
|
import { ed25519 } from '../../src/jose/algorithms/signing/ed25519.js';
|
|
6
6
|
import { Encoder } from '../../src/utils/encoder.js';
|
|
7
7
|
import { Jws } from '../../src/utils/jws.js';
|
|
8
|
-
import { KeyDerivationScheme } from '../../src/utils/hd-key.js';
|
|
9
8
|
import { MessagesQuery } from '../../src/interfaces/messages-query.js';
|
|
10
9
|
import { MessagesRead } from '../../src/interfaces/messages-read.js';
|
|
11
10
|
import { MessagesSubscribe } from '../../src/interfaces/messages-subscribe.js';
|
|
@@ -13,6 +12,7 @@ import { PermissionsProtocol } from '../../src/protocols/permissions.js';
|
|
|
13
12
|
import { PrivateKeySigner } from '../../src/utils/private-key-signer.js';
|
|
14
13
|
import { ProtocolsConfigure } from '../../src/interfaces/protocols-configure.js';
|
|
15
14
|
import { ProtocolsQuery } from '../../src/interfaces/protocols-query.js';
|
|
15
|
+
import { Records } from '../../src/utils/records.js';
|
|
16
16
|
import { RecordsCount } from '../../src/interfaces/records-count.js';
|
|
17
17
|
import { RecordsDelete } from '../../src/interfaces/records-delete.js';
|
|
18
18
|
import { RecordsQuery } from '../../src/interfaces/records-query.js';
|
|
@@ -25,6 +25,7 @@ import { Time } from '../../src/utils/time.js';
|
|
|
25
25
|
import { X25519 } from '@enbox/crypto';
|
|
26
26
|
import { ContentEncryptionAlgorithm, Encryption, KeyAgreementAlgorithm } from '../../src/utils/encryption.js';
|
|
27
27
|
import { DwnInterfaceName, DwnMethodName } from '../../src/enums/dwn-interface-method.js';
|
|
28
|
+
import { HdKey, KeyDerivationScheme } from '../../src/utils/hd-key.js';
|
|
28
29
|
/**
|
|
29
30
|
* Protocol definition that matches the defaults used by `TestDataGenerator.generateRecordsWrite()`:
|
|
30
31
|
* `protocol: 'http://test-protocol.xyz'`, `protocolPath: 'testRecord'`.
|
|
@@ -248,6 +249,58 @@ export class TestDataGenerator {
|
|
|
248
249
|
};
|
|
249
250
|
}
|
|
250
251
|
;
|
|
252
|
+
/**
|
|
253
|
+
* Creates an `EncryptionKeyDeriver` that derives protocol-path public encryption keys from the
|
|
254
|
+
* given root private key, mirroring how the agent's KMS-backed key deriver behaves.
|
|
255
|
+
*/
|
|
256
|
+
static createProtocolPathKeyDeriver(rootKeyId, rootPrivateJwk) {
|
|
257
|
+
return {
|
|
258
|
+
derivationScheme: KeyDerivationScheme.ProtocolPath,
|
|
259
|
+
derivePublicKey: async (fullDerivationPath) => {
|
|
260
|
+
const rootPrivateKeyBytes = await X25519.privateKeyToBytes({ privateKey: rootPrivateJwk });
|
|
261
|
+
const leafPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(rootPrivateKeyBytes, fullDerivationPath);
|
|
262
|
+
const leafPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
|
|
263
|
+
return await X25519.getPublicKey({ key: leafPrivateKey });
|
|
264
|
+
},
|
|
265
|
+
rootKeyId,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Creates a `KeyDecrypter` that unwraps content encryption keys using a leaf key derived from the
|
|
270
|
+
* given ancestor private key. The ancestor may be the root key or any derived subtree key.
|
|
271
|
+
*/
|
|
272
|
+
static createKeyDecrypter(ancestorPrivateKey) {
|
|
273
|
+
const deriveLeafPrivateKey = async (fullDerivationPath) => {
|
|
274
|
+
const leafPrivateKeyBytes = await Records.derivePrivateKey(ancestorPrivateKey, fullDerivationPath);
|
|
275
|
+
return X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
|
|
276
|
+
};
|
|
277
|
+
return {
|
|
278
|
+
decrypt: async (fullDerivationPath, keyUnwrapPayload) => {
|
|
279
|
+
const leafPrivateKey = await deriveLeafPrivateKey(fullDerivationPath);
|
|
280
|
+
return Encryption.unwrapKey(leafPrivateKey, keyUnwrapPayload.keyEncryption);
|
|
281
|
+
},
|
|
282
|
+
derivationScheme: ancestorPrivateKey.derivationScheme,
|
|
283
|
+
derivePublicKey: async (fullDerivationPath) => {
|
|
284
|
+
const leafPrivateKey = await deriveLeafPrivateKey(fullDerivationPath);
|
|
285
|
+
return await X25519.getPublicKey({ key: leafPrivateKey });
|
|
286
|
+
},
|
|
287
|
+
rootKeyId: ancestorPrivateKey.rootKeyId,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Derives a descendant `DerivedPrivateJwk` from the given ancestor key along the given sub-derivation path.
|
|
292
|
+
*/
|
|
293
|
+
static async deriveDescendantPrivateKey(ancestorKey, subDerivationPath) {
|
|
294
|
+
const ancestorPrivateKeyBytes = await X25519.privateKeyToBytes({ privateKey: ancestorKey.derivedPrivateKey });
|
|
295
|
+
const descendantPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(ancestorPrivateKeyBytes, subDerivationPath);
|
|
296
|
+
const descendantPrivateKeyJwk = await X25519.bytesToPrivateKey({ privateKeyBytes: descendantPrivateKeyBytes });
|
|
297
|
+
return {
|
|
298
|
+
rootKeyId: ancestorKey.rootKeyId,
|
|
299
|
+
derivationScheme: ancestorKey.derivationScheme,
|
|
300
|
+
derivationPath: [...(ancestorKey.derivationPath ?? []), ...subDerivationPath],
|
|
301
|
+
derivedPrivateKey: descendantPrivateKeyJwk,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
251
304
|
/**
|
|
252
305
|
* Generates a encrypted RecordsWrite message for testing.
|
|
253
306
|
*
|
|
@@ -265,25 +318,9 @@ export class TestDataGenerator {
|
|
|
265
318
|
const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(16);
|
|
266
319
|
const dataEncryptionKey = TestDataGenerator.randomBytes(32);
|
|
267
320
|
const encryptedDataBytes = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, dataEncryptionKey, dataEncryptionInitializationVector, plaintextBytes);
|
|
268
|
-
//
|
|
321
|
+
// compute the key encryption inputs BEFORE creating the RecordsWrite, mirroring the live agent flow
|
|
269
322
|
const protocolPathSegments = protocolPath.split('/');
|
|
270
|
-
const
|
|
271
|
-
const { message, dataStream, recordsWrite } = await TestDataGenerator.generateRecordsWrite({
|
|
272
|
-
author,
|
|
273
|
-
recipient,
|
|
274
|
-
protocol: protocolDefinition.protocol,
|
|
275
|
-
protocolPath,
|
|
276
|
-
parentContextId: protocolParentContextId,
|
|
277
|
-
schema: protocolDefinition.types[recordType].schema,
|
|
278
|
-
dataFormat: protocolDefinition.types[recordType].dataFormats?.[0],
|
|
279
|
-
data: encryptedDataBytes
|
|
280
|
-
});
|
|
281
|
-
// final encryption input (`keyEncryptionInputs` to be populated below)
|
|
282
|
-
const encryptionInput = {
|
|
283
|
-
initializationVector: dataEncryptionInitializationVector,
|
|
284
|
-
key: dataEncryptionKey,
|
|
285
|
-
keyEncryptionInputs: []
|
|
286
|
-
};
|
|
323
|
+
const keyEncryptionInputs = [];
|
|
287
324
|
if (input.encryptSymmetricKeyWithProtocolPathDerivedKey) {
|
|
288
325
|
// locate the rule set corresponding the protocol path of the message
|
|
289
326
|
let protocolRuleSetSegment = protocolDefinition.structure;
|
|
@@ -291,16 +328,31 @@ export class TestDataGenerator {
|
|
|
291
328
|
protocolRuleSetSegment = protocolRuleSetSegment[pathSegment];
|
|
292
329
|
}
|
|
293
330
|
const protocolPathDerivedPublicKeyJwk = protocolRuleSetSegment.$keyAgreement?.publicKeyJwk;
|
|
294
|
-
|
|
331
|
+
keyEncryptionInputs.push({
|
|
295
332
|
algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
|
|
296
333
|
keyId: await Encryption.getKeyId(protocolPathDerivedPublicKeyJwk),
|
|
297
334
|
publicKey: protocolPathDerivedPublicKeyJwk,
|
|
298
335
|
derivationScheme: KeyDerivationScheme.ProtocolPath
|
|
299
|
-
};
|
|
300
|
-
encryptionInput.keyEncryptionInputs.push(protocolPathDerivedKeyEncryptionInput);
|
|
336
|
+
});
|
|
301
337
|
}
|
|
302
|
-
|
|
303
|
-
|
|
338
|
+
const encryptionInput = {
|
|
339
|
+
initializationVector: dataEncryptionInitializationVector,
|
|
340
|
+
key: dataEncryptionKey,
|
|
341
|
+
keyEncryptionInputs
|
|
342
|
+
};
|
|
343
|
+
// author generates a RecordsWrite using the encrypted data
|
|
344
|
+
const recordType = protocolPathSegments[protocolPathSegments.length - 1];
|
|
345
|
+
const { message, dataStream, recordsWrite } = await TestDataGenerator.generateRecordsWrite({
|
|
346
|
+
author,
|
|
347
|
+
recipient,
|
|
348
|
+
protocol: protocolDefinition.protocol,
|
|
349
|
+
protocolPath,
|
|
350
|
+
parentContextId: protocolParentContextId,
|
|
351
|
+
schema: protocolDefinition.types[recordType].schema,
|
|
352
|
+
dataFormat: protocolDefinition.types[recordType].dataFormats?.[0],
|
|
353
|
+
data: encryptedDataBytes,
|
|
354
|
+
encryptionInput
|
|
355
|
+
});
|
|
304
356
|
return { message, dataStream: dataStream, recordsWrite, encryptedDataBytes, encryptionInput };
|
|
305
357
|
}
|
|
306
358
|
/**
|