@enbox/dwn-sdk-js 0.0.3 → 0.0.5

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.
Files changed (134) hide show
  1. package/dist/browser.mjs +135 -0
  2. package/dist/browser.mjs.map +7 -0
  3. package/dist/esm/generated/precompiled-validators.js +640 -510
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/auth.js +6 -1
  6. package/dist/esm/src/core/auth.js.map +1 -1
  7. package/dist/esm/src/core/dwn-error.js +3 -0
  8. package/dist/esm/src/core/dwn-error.js.map +1 -1
  9. package/dist/esm/src/core/protocol-authorization.js +4 -0
  10. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  11. package/dist/esm/src/dwn.js +14 -0
  12. package/dist/esm/src/dwn.js.map +1 -1
  13. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  14. package/dist/esm/src/handlers/records-delete.js +13 -0
  15. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  16. package/dist/esm/src/handlers/records-subscribe.js +121 -66
  17. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  18. package/dist/esm/src/handlers/records-write.js +1 -1
  19. package/dist/esm/src/handlers/records-write.js.map +1 -1
  20. package/dist/esm/src/index.js +1 -1
  21. package/dist/esm/src/index.js.map +1 -1
  22. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  23. package/dist/esm/src/interfaces/records-delete.js +1 -0
  24. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  25. package/dist/esm/src/interfaces/records-subscribe.js +2 -0
  26. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  27. package/dist/esm/src/interfaces/records-write.js +28 -45
  28. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  29. package/dist/esm/src/jose/jws/general/verifier.js +9 -1
  30. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  31. package/dist/esm/src/smt/smt-utils.js +1 -1
  32. package/dist/esm/src/smt/smt-utils.js.map +1 -1
  33. package/dist/esm/src/types/records-types.js.map +1 -1
  34. package/dist/esm/src/utils/encryption.js +221 -78
  35. package/dist/esm/src/utils/encryption.js.map +1 -1
  36. package/dist/esm/src/utils/hd-key.js +6 -7
  37. package/dist/esm/src/utils/hd-key.js.map +1 -1
  38. package/dist/esm/src/utils/protocols.js +12 -10
  39. package/dist/esm/src/utils/protocols.js.map +1 -1
  40. package/dist/esm/src/utils/records.js +33 -44
  41. package/dist/esm/src/utils/records.js.map +1 -1
  42. package/dist/esm/tests/features/protocol-composition.spec.js +26 -21
  43. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  44. package/dist/esm/tests/features/records-tags.spec.js +5 -5
  45. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  46. package/dist/esm/tests/handlers/records-delete.spec.js +120 -2
  47. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  48. package/dist/esm/tests/handlers/records-read.spec.js +25 -26
  49. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  50. package/dist/esm/tests/handlers/records-subscribe.spec.js +103 -0
  51. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  52. package/dist/esm/tests/handlers/records-write.spec.js +124 -10
  53. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  54. package/dist/esm/tests/interfaces/messages-get.spec.js +3 -2
  55. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  56. package/dist/esm/tests/interfaces/records-write.spec.js +43 -34
  57. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  58. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +4 -4
  59. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  60. package/dist/esm/tests/utils/encryption-callbacks.spec.js +21 -24
  61. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  62. package/dist/esm/tests/utils/encryption.spec.js +69 -66
  63. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  64. package/dist/esm/tests/utils/filters.spec.js +1 -0
  65. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  66. package/dist/esm/tests/utils/test-data-generator.js +28 -7
  67. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  68. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +1 -1
  69. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  70. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  71. package/dist/types/src/core/auth.d.ts +3 -1
  72. package/dist/types/src/core/auth.d.ts.map +1 -1
  73. package/dist/types/src/core/dwn-error.d.ts +3 -0
  74. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  75. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  76. package/dist/types/src/dwn.d.ts +12 -0
  77. package/dist/types/src/dwn.d.ts.map +1 -1
  78. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  79. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  80. package/dist/types/src/handlers/records-subscribe.d.ts +17 -28
  81. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  82. package/dist/types/src/index.d.ts +4 -4
  83. package/dist/types/src/index.d.ts.map +1 -1
  84. package/dist/types/src/interfaces/records-delete.d.ts +4 -0
  85. package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
  86. package/dist/types/src/interfaces/records-subscribe.d.ts +4 -1
  87. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  88. package/dist/types/src/interfaces/records-write.d.ts +23 -53
  89. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  90. package/dist/types/src/jose/jws/general/verifier.d.ts.map +1 -1
  91. package/dist/types/src/types/encryption-types.d.ts +9 -8
  92. package/dist/types/src/types/encryption-types.d.ts.map +1 -1
  93. package/dist/types/src/types/protocols-types.d.ts +65 -16
  94. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  95. package/dist/types/src/types/records-types.d.ts +7 -26
  96. package/dist/types/src/types/records-types.d.ts.map +1 -1
  97. package/dist/types/src/utils/encryption.d.ts +157 -28
  98. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  99. package/dist/types/src/utils/hd-key.d.ts +2 -3
  100. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  101. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  102. package/dist/types/src/utils/records.d.ts +3 -4
  103. package/dist/types/src/utils/records.d.ts.map +1 -1
  104. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  105. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  106. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  107. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  108. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  109. package/dist/types/tests/utils/test-data-generator.d.ts +7 -0
  110. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  111. package/package.json +10 -21
  112. package/src/core/auth.ts +12 -1
  113. package/src/core/dwn-error.ts +3 -0
  114. package/src/core/protocol-authorization.ts +8 -0
  115. package/src/dwn.ts +15 -0
  116. package/src/handlers/protocols-configure.ts +4 -4
  117. package/src/handlers/records-delete.ts +12 -0
  118. package/src/handlers/records-subscribe.ts +174 -75
  119. package/src/handlers/records-write.ts +1 -1
  120. package/src/index.ts +4 -4
  121. package/src/interfaces/protocols-configure.ts +5 -5
  122. package/src/interfaces/records-delete.ts +9 -3
  123. package/src/interfaces/records-subscribe.ts +6 -1
  124. package/src/interfaces/records-write.ts +33 -105
  125. package/src/jose/jws/general/verifier.ts +11 -1
  126. package/src/smt/smt-utils.ts +1 -1
  127. package/src/types/encryption-types.ts +9 -8
  128. package/src/types/protocols-types.ts +72 -18
  129. package/src/types/records-types.ts +7 -29
  130. package/src/utils/encryption.ts +346 -88
  131. package/src/utils/hd-key.ts +9 -10
  132. package/src/utils/protocols.ts +15 -13
  133. package/src/utils/records.ts +47 -55
  134. package/dist/bundles/dwn.js +0 -151
@@ -1 +1 @@
1
- {"version":3,"file":"records-delete.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/records-delete.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records-delete.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/records-delete.spec.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ import threadRoleProtocolDefinition from '../vectors/protocol-definitions/thread
18
18
  import { ArrayUtility } from '../../src/utils/array.js';
19
19
  import { authenticate } from '../../src/core/auth.js';
20
20
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
21
- import { Encryption } from '../../src/utils/encryption.js';
22
21
  import { HdKey } from '../../src/utils/hd-key.js';
23
22
  import { KeyDerivationScheme } from '../../src/utils/hd-key.js';
24
23
  import { RecordsReadHandler } from '../../src/handlers/records-read.js';
@@ -27,8 +26,9 @@ import { TestEventStream } from '../test-event-stream.js';
27
26
  import { TestStores } from '../test-stores.js';
28
27
  import { TestStubGenerator } from '../utils/test-stub-generator.js';
29
28
  import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
29
+ import { ContentEncryptionAlgorithm, Encryption } from '../../src/utils/encryption.js';
30
30
  import { DataStoreLevel, DwnConstant, MessageStoreLevel, PermissionsProtocol, Time } from '../../src/index.js';
31
- import { DataStream, DateSort, Dwn, Jws, Protocols, ProtocolsConfigure, ProtocolsQuery, Records, RecordsDelete, RecordsRead, RecordsWrite, Secp256k1 } from '../../src/index.js';
31
+ import { DataStream, DateSort, Dwn, Jws, Protocols, ProtocolsConfigure, ProtocolsQuery, Records, RecordsDelete, RecordsRead, RecordsWrite } from '../../src/index.js';
32
32
  import { DidKey, UniversalResolver } from '@enbox/dids';
33
33
  import { DwnInterfaceName, DwnMethodName } from '../../src/index.js';
34
34
  export function testRecordsReadHandler() {
@@ -1553,25 +1553,23 @@ export function testRecordsReadHandler() {
1553
1553
  TestStubGenerator.stubDidResolver(didResolver, [alice]);
1554
1554
  // encrypt Alice's record
1555
1555
  const originalData = TestDataGenerator.randomBytes(1000);
1556
- const originalDataStream = DataStream.fromBytes(originalData);
1557
- const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(16);
1556
+ const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(12);
1558
1557
  const dataEncryptionKey = TestDataGenerator.randomBytes(32);
1559
- const encryptedDataStream = yield Encryption.aes256CtrEncrypt(dataEncryptionKey, dataEncryptionInitializationVector, originalDataStream);
1560
- const encryptedDataBytes = yield DataStream.toBytes(encryptedDataStream);
1558
+ const { ciphertext: encryptedDataBytes, tag: authenticationTag } = yield Encryption.aeadEncrypt(ContentEncryptionAlgorithm.A256GCM, dataEncryptionKey, dataEncryptionInitializationVector, originalData);
1561
1559
  // TODO: #450 - Should not require a root key to specify the derivation scheme (https://github.com/enboxorg/enbox/issues/450)
1562
1560
  const rootPrivateKeyWithSchemasScheme = {
1563
1561
  rootKeyId: alice.keyId,
1564
1562
  derivationScheme: KeyDerivationScheme.Schemas,
1565
- derivedPrivateKey: alice.keyPair.privateJwk
1563
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1566
1564
  };
1567
1565
  const schema = 'https://some-schema.com';
1568
1566
  const schemaDerivationPath = Records.constructKeyDerivationPathUsingSchemasScheme(schema);
1569
1567
  const schemaDerivedPrivateKey = yield HdKey.derivePrivateKey(rootPrivateKeyWithSchemasScheme, schemaDerivationPath);
1570
- const schemaDerivedPublicKey = yield Secp256k1.getPublicJwk(schemaDerivedPrivateKey.derivedPrivateKey);
1568
+ const schemaDerivedPublicKey = yield HdKey.derivePublicKey(rootPrivateKeyWithSchemasScheme, schemaDerivationPath);
1571
1569
  const rootPrivateKeyWithDataFormatsScheme = {
1572
1570
  rootKeyId: alice.keyId,
1573
1571
  derivationScheme: KeyDerivationScheme.DataFormats,
1574
- derivedPrivateKey: alice.keyPair.privateJwk
1572
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1575
1573
  };
1576
1574
  const dataFormat = 'some/format';
1577
1575
  const dataFormatDerivationPath = Records.constructKeyDerivationPathUsingDataFormatsScheme(schema, dataFormat);
@@ -1579,6 +1577,7 @@ export function testRecordsReadHandler() {
1579
1577
  const encryptionInput = {
1580
1578
  initializationVector: dataEncryptionInitializationVector,
1581
1579
  key: dataEncryptionKey,
1580
+ authenticationTag,
1582
1581
  keyEncryptionInputs: [{
1583
1582
  publicKeyId: alice.keyId, // reusing signing key for encryption purely as a convenience
1584
1583
  publicKey: schemaDerivedPublicKey,
@@ -1634,16 +1633,14 @@ export function testRecordsReadHandler() {
1634
1633
  TestStubGenerator.stubDidResolver(didResolver, [alice]);
1635
1634
  // encrypt Alice's record
1636
1635
  const originalData = TestDataGenerator.randomBytes(1000);
1637
- const originalDataStream = DataStream.fromBytes(originalData);
1638
- const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(16);
1636
+ const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(12);
1639
1637
  const dataEncryptionKey = TestDataGenerator.randomBytes(32);
1640
- const encryptedDataStream = yield Encryption.aes256CtrEncrypt(dataEncryptionKey, dataEncryptionInitializationVector, originalDataStream);
1641
- const encryptedDataBytes = yield DataStream.toBytes(encryptedDataStream);
1638
+ const { ciphertext: encryptedDataBytes, tag: authenticationTag } = yield Encryption.aeadEncrypt(ContentEncryptionAlgorithm.A256GCM, dataEncryptionKey, dataEncryptionInitializationVector, originalData);
1642
1639
  // TODO: #450 - Should not require a root key to specify the derivation scheme (https://github.com/enboxorg/enbox/issues/450)
1643
1640
  const rootPrivateKeyWithDataFormatsScheme = {
1644
1641
  rootKeyId: alice.keyId,
1645
1642
  derivationScheme: KeyDerivationScheme.DataFormats,
1646
- derivedPrivateKey: alice.keyPair.privateJwk
1643
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1647
1644
  };
1648
1645
  const dataFormat = `image/jpg`;
1649
1646
  const dataFormatDerivationPath = Records.constructKeyDerivationPathUsingDataFormatsScheme(undefined, dataFormat);
@@ -1651,6 +1648,7 @@ export function testRecordsReadHandler() {
1651
1648
  const encryptionInput = {
1652
1649
  initializationVector: dataEncryptionInitializationVector,
1653
1650
  key: dataEncryptionKey,
1651
+ authenticationTag,
1654
1652
  keyEncryptionInputs: [{
1655
1653
  publicKeyId: alice.keyId, // reusing signing key for encryption purely as a convenience
1656
1654
  publicKey: dataFormatDerivedPublicKey,
@@ -1690,7 +1688,7 @@ export function testRecordsReadHandler() {
1690
1688
  TestStubGenerator.stubDidResolver(didResolver, [alice, bob]);
1691
1689
  // Alice configures chat protocol with encryption
1692
1690
  const protocolDefinition = chatProtocolDefinition;
1693
- const protocolDefinitionForAlice = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.keyPair.privateJwk);
1691
+ const protocolDefinitionForAlice = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.encryptionKeyPair.privateJwk);
1694
1692
  const protocolsConfigureForAlice = yield TestDataGenerator.generateProtocolsConfigure({
1695
1693
  author: alice,
1696
1694
  protocolDefinition: protocolDefinitionForAlice
@@ -1698,7 +1696,7 @@ export function testRecordsReadHandler() {
1698
1696
  const protocolsConfigureForAliceReply = yield dwn.processMessage(alice.did, protocolsConfigureForAlice.message);
1699
1697
  expect(protocolsConfigureForAliceReply.status.code).toBe(202);
1700
1698
  // Bob configures chat protocol with encryption
1701
- const protocolDefinitionForBob = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, bob.keyId, bob.keyPair.privateJwk);
1699
+ const protocolDefinitionForBob = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, bob.keyId, bob.encryptionKeyPair.privateJwk);
1702
1700
  const protocolsConfigureForBob = yield TestDataGenerator.generateProtocolsConfigure({
1703
1701
  author: bob,
1704
1702
  protocolDefinition: protocolDefinitionForBob
@@ -1737,7 +1735,7 @@ export function testRecordsReadHandler() {
1737
1735
  const bobRootPrivateKey = {
1738
1736
  rootKeyId: bob.keyId,
1739
1737
  derivationScheme: KeyDerivationScheme.ProtocolContext,
1740
- derivedPrivateKey: bob.keyPair.privateJwk
1738
+ derivedPrivateKey: bob.encryptionKeyPair.privateJwk
1741
1739
  };
1742
1740
  const protocolPathDerivationPath = Records.constructKeyDerivationPathUsingProtocolPathScheme(recordsWrite.message.descriptor);
1743
1741
  const protocolPathDerivedPublicJwkForBobsDwn = yield HdKey.derivePublicKey(bobRootPrivateKey, protocolPathDerivationPath);
@@ -1773,7 +1771,9 @@ export function testRecordsReadHandler() {
1773
1771
  expect(ArrayUtility.byteArraysEqual(plaintextBytes, plaintextMessageToAlice)).toBe(true);
1774
1772
  // verify that Alice is able to send an encrypted message using the protocol-context derived public key and Bob is able to decrypt it
1775
1773
  // NOTE: we will skip verification of Bob's protocol configuration because we have test the such scenario above as well as in other tests
1776
- const { derivedPublicKey: protocolContextDerivedPublicJwkReturned, rootKeyId: protocolContextDerivingRootKeyIdReturned } = fetchedRecordsWrite.encryption.keyEncryption.find(encryptedKey => encryptedKey.derivationScheme === KeyDerivationScheme.ProtocolContext);
1774
+ const matchingRecipient = fetchedRecordsWrite.encryption.recipients.find(recipient => recipient.header.derivationScheme === KeyDerivationScheme.ProtocolContext);
1775
+ const protocolContextDerivedPublicJwkReturned = matchingRecipient.header.derivedPublicKey;
1776
+ const protocolContextDerivingRootKeyIdReturned = matchingRecipient.header.kid;
1777
1777
  const plaintextMessageToBob = TestDataGenerator.randomBytes(100);
1778
1778
  const recordsWriteToBob = yield TestDataGenerator.generateProtocolEncryptedRecordsWrite({
1779
1779
  plaintextBytes: plaintextMessageToBob,
@@ -1813,7 +1813,7 @@ export function testRecordsReadHandler() {
1813
1813
  TestStubGenerator.stubDidResolver(didResolver, [alice, bob]);
1814
1814
  // Alice configures email protocol with encryption
1815
1815
  const protocolDefinition = emailProtocolDefinition;
1816
- const encryptedProtocolDefinition = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.keyPair.privateJwk);
1816
+ const encryptedProtocolDefinition = yield Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.encryptionKeyPair.privateJwk);
1817
1817
  const protocolsConfigure = yield TestDataGenerator.generateProtocolsConfigure({
1818
1818
  author: alice,
1819
1819
  protocolDefinition: encryptedProtocolDefinition
@@ -1832,11 +1832,9 @@ export function testRecordsReadHandler() {
1832
1832
  expect(protocolsConfigureFetched.author).toBe(alice.did);
1833
1833
  // Bob encrypts his email to Alice with a randomly generated symmetric key
1834
1834
  const bobMessageBytes = TestDataGenerator.randomBytes(100);
1835
- const bobMessageStream = DataStream.fromBytes(bobMessageBytes);
1836
- const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(16);
1835
+ const dataEncryptionInitializationVector = TestDataGenerator.randomBytes(12);
1837
1836
  const dataEncryptionKey = TestDataGenerator.randomBytes(32);
1838
- const bobMessageEncryptedStream = yield Encryption.aes256CtrEncrypt(dataEncryptionKey, dataEncryptionInitializationVector, bobMessageStream);
1839
- const bobMessageEncryptedBytes = yield DataStream.toBytes(bobMessageEncryptedStream);
1837
+ const { ciphertext: bobMessageEncryptedBytes, tag: authenticationTag } = yield Encryption.aeadEncrypt(ContentEncryptionAlgorithm.A256GCM, dataEncryptionKey, dataEncryptionInitializationVector, bobMessageBytes);
1840
1838
  // Bob generates an encrypted RecordsWrite,
1841
1839
  // the public encryption key designated by Alice is used to encrypt the symmetric key Bob generated above
1842
1840
  const publicJwk = (_a = protocolsConfigureFetched.message.descriptor.definition.structure.email.$encryption) === null || _a === void 0 ? void 0 : _a.publicKeyJwk;
@@ -1844,6 +1842,7 @@ export function testRecordsReadHandler() {
1844
1842
  const encryptionInput = {
1845
1843
  initializationVector: dataEncryptionInitializationVector,
1846
1844
  key: dataEncryptionKey,
1845
+ authenticationTag,
1847
1846
  keyEncryptionInputs: [{
1848
1847
  publicKeyId: alice.keyId, // reusing signing key for encryption purely as a convenience
1849
1848
  publicKey: publicJwk,
@@ -1876,7 +1875,7 @@ export function testRecordsReadHandler() {
1876
1875
  const rootPrivateKey = {
1877
1876
  rootKeyId: alice.keyId,
1878
1877
  derivationScheme: KeyDerivationScheme.ProtocolPath,
1879
- derivedPrivateKey: alice.keyPair.privateJwk
1878
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1880
1879
  };
1881
1880
  const fetchedRecordsWrite = readReply.entry.recordsWrite;
1882
1881
  const cipherStream = readReply.entry.data;
@@ -1901,14 +1900,14 @@ export function testRecordsReadHandler() {
1901
1900
  const privateKeyWithMismatchingDerivationScheme = {
1902
1901
  rootKeyId: alice.keyId,
1903
1902
  derivationScheme: 'scheme-that-is-not-protocol-context',
1904
- derivedPrivateKey: alice.keyPair.privateJwk
1903
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1905
1904
  };
1906
1905
  yield expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingDerivationScheme, cipherStream)).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
1907
1906
  // test unable to decrypt the message if public key ID does not match the derived private key
1908
1907
  const privateKeyWithMismatchingKeyId = {
1909
1908
  rootKeyId: 'mismatchingKeyId',
1910
1909
  derivationScheme: KeyDerivationScheme.ProtocolPath,
1911
- derivedPrivateKey: alice.keyPair.privateJwk
1910
+ derivedPrivateKey: alice.encryptionKeyPair.privateJwk
1912
1911
  };
1913
1912
  yield expect(Records.decrypt(fetchedRecordsWrite, privateKeyWithMismatchingKeyId, cipherStream)).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
1914
1913
  }));