@enbox/dwn-sdk-js 0.4.5 → 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.
@@ -46,6 +46,9 @@ export class Encryption {
46
46
  return Encryption.toStream(plaintext);
47
47
  }
48
48
  static async wrapKey(recipientPublicKey, cek, keyInput, ephemeralPrivateKey) {
49
+ return Encryption.wrapX25519Key(recipientPublicKey, cek, keyInput, ephemeralPrivateKey);
50
+ }
51
+ static async wrapX25519Key(recipientPublicKey, cek, keyInput, ephemeralPrivateKey) {
49
52
  Encryption.validateContentEncryptionKey(cek);
50
53
  const privateKey = ephemeralPrivateKey ?? await X25519.generateKey();
51
54
  const publicKey = await X25519.getPublicKey({ key: privateKey });
@@ -60,6 +63,12 @@ export class Encryption {
60
63
  return { encryptedKey, ephemeralPublicKey: publicKey };
61
64
  }
62
65
  static async unwrapKey(recipientPrivateKey, keyEncryption) {
66
+ if (keyEncryption.algorithm === KeyAgreementAlgorithm.X25519HkdfSha256A256Kw) {
67
+ return Encryption.unwrapX25519Key(recipientPrivateKey, keyEncryption);
68
+ }
69
+ throw new Error(`Unsupported key agreement algorithm: ${keyEncryption.algorithm}`);
70
+ }
71
+ static async unwrapX25519Key(recipientPrivateKey, keyEncryption) {
63
72
  const sharedSecret = await X25519.sharedSecret({
64
73
  privateKeyA: recipientPrivateKey,
65
74
  publicKeyB: keyEncryption.ephemeralPublicKey,
@@ -78,28 +87,7 @@ export class Encryption {
78
87
  Encryption.validateContentEncryptionParameters(algorithm, encryptionInput.key, encryptionInput.initializationVector);
79
88
  const keyEncryption = [];
80
89
  for (const keyInput of encryptionInput.keyEncryptionInputs) {
81
- const { encryptedKey, ephemeralPublicKey } = await Encryption.wrapKey(keyInput.publicKey, encryptionInput.key, keyInput);
82
- const common = {
83
- algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
84
- encryptedKey: Encoder.bytesToBase64Url(encryptedKey),
85
- ephemeralPublicKey,
86
- keyId: keyInput.keyId,
87
- };
88
- if (keyInput.derivationScheme === KeyDerivationScheme.ProtocolPath) {
89
- keyEncryption.push({
90
- ...common,
91
- derivationScheme: KeyDerivationScheme.ProtocolPath,
92
- });
93
- }
94
- else {
95
- keyEncryption.push({
96
- ...common,
97
- derivationScheme: ROLE_AUDIENCE_DERIVATION_SCHEME,
98
- epoch: keyInput.epoch,
99
- protocol: keyInput.protocol,
100
- role: keyInput.role,
101
- });
102
- }
90
+ keyEncryption.push(await Encryption.buildKeyEncryptionEntry(encryptionInput.key, keyInput));
103
91
  }
104
92
  return {
105
93
  algorithm,
@@ -116,9 +104,41 @@ export class Encryption {
116
104
  throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionInitializationVectorInvalid, `A256CTR initializationVector must decode to ${AES_CTR_COUNTER_LENGTH_BYTES} bytes.`);
117
105
  }
118
106
  for (const entry of encryption.keyEncryption) {
119
- if (entry.ephemeralPublicKey.kty !== 'OKP' || entry.ephemeralPublicKey.crv !== 'X25519') {
120
- throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionEphemeralPublicKeyInvalid, 'ephemeralPublicKey must be an OKP X25519 public key.');
121
- }
107
+ Encryption.validateKeyEncryptionEntry(entry);
108
+ }
109
+ }
110
+ static async buildKeyEncryptionEntry(cek, keyInput) {
111
+ const { encryptedKey, ephemeralPublicKey } = await Encryption.wrapKey(keyInput.publicKey, cek, keyInput);
112
+ const common = {
113
+ algorithm: KeyAgreementAlgorithm.X25519HkdfSha256A256Kw,
114
+ encryptedKey: Encoder.bytesToBase64Url(encryptedKey),
115
+ ephemeralPublicKey,
116
+ keyId: keyInput.keyId,
117
+ };
118
+ if (keyInput.derivationScheme === KeyDerivationScheme.ProtocolPath) {
119
+ return {
120
+ ...common,
121
+ derivationScheme: KeyDerivationScheme.ProtocolPath,
122
+ };
123
+ }
124
+ return {
125
+ ...common,
126
+ derivationScheme: ROLE_AUDIENCE_DERIVATION_SCHEME,
127
+ epoch: keyInput.epoch,
128
+ protocol: keyInput.protocol,
129
+ role: keyInput.role,
130
+ };
131
+ }
132
+ static validateKeyEncryptionEntry(entry) {
133
+ if (entry.algorithm === KeyAgreementAlgorithm.X25519HkdfSha256A256Kw) {
134
+ Encryption.validateX25519KeyEncryptionEntry(entry);
135
+ return;
136
+ }
137
+ throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionEphemeralPublicKeyInvalid, `Unsupported key agreement algorithm: ${entry.algorithm}`);
138
+ }
139
+ static validateX25519KeyEncryptionEntry(entry) {
140
+ if (entry.ephemeralPublicKey.kty !== 'OKP' || entry.ephemeralPublicKey.crv !== 'X25519') {
141
+ throw new DwnError(DwnErrorCode.RecordsWriteValidateIntegrityEncryptionEphemeralPublicKeyInvalid, 'ephemeralPublicKey must be an OKP X25519 public key.');
122
142
  }
123
143
  }
124
144
  static async deriveKek(sharedSecret, keyEncryption) {
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,46 @@ import { X25519 } from '@enbox/crypto';
10
10
  import { ContentEncryptionAlgorithm, Encryption, KeyAgreementAlgorithm } from '../../src/utils/encryption.js';
11
11
  import { describe, expect, it } from 'bun:test';
12
12
  const boundarySizes = [0, 1, 15, 16, 17, 32, 256];
13
+ async function createEncryptedRecordFixture(plaintext = TestDataGenerator.randomBytes(64)) {
14
+ const recipientPrivateKey = await X25519.generateKey();
15
+ const recipientPublicKey = await X25519.getPublicKey({ key: recipientPrivateKey });
16
+ const cek = TestDataGenerator.randomBytes(32);
17
+ const iv = TestDataGenerator.randomBytes(16);
18
+ const ciphertext = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, cek, iv, plaintext);
19
+ const keyId = await Encryption.getKeyId(recipientPublicKey);
20
+ const encryption = await Encryption.buildEncryptionProperty({
21
+ initializationVector: iv,
22
+ key: cek,
23
+ keyEncryptionInputs: [{
24
+ derivationScheme: KeyDerivationScheme.ProtocolPath,
25
+ keyId,
26
+ publicKey: recipientPublicKey,
27
+ }],
28
+ });
29
+ const message = {
30
+ descriptor: {
31
+ dataCid: await Cid.computeDagPbCidFromBytes(ciphertext),
32
+ dataFormat: 'application/octet-stream',
33
+ dataSize: ciphertext.byteLength,
34
+ dateCreated: '2024-01-01T00:00:00.000000Z',
35
+ interface: 'Records',
36
+ messageTimestamp: '2024-01-01T00:00:00.000000Z',
37
+ method: 'Write',
38
+ protocol: 'https://example.com/protocol',
39
+ protocolPath: 'note',
40
+ },
41
+ encryption,
42
+ recordId: 'test-record-id',
43
+ };
44
+ return {
45
+ cek,
46
+ ciphertext,
47
+ message,
48
+ plaintext,
49
+ recipientPrivateKey,
50
+ recipientPublicKey,
51
+ };
52
+ }
13
53
  describe('Encryption', () => {
14
54
  describe('A256CTR', () => {
15
55
  it('should encrypt and decrypt bytes correctly', async () => {
@@ -132,38 +172,8 @@ describe('Encryption', () => {
132
172
  }, DataStream.fromBytes(TestDataGenerator.randomBytes(32)))).rejects.toThrow(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound);
133
173
  });
134
174
  it('should validate encrypted data CID before returning plaintext', async () => {
135
- const recipientPrivateKey = await X25519.generateKey();
136
- const recipientPublicKey = await X25519.getPublicKey({ key: recipientPrivateKey });
137
- const cek = TestDataGenerator.randomBytes(32);
138
- const iv = TestDataGenerator.randomBytes(16);
139
- const plaintext = Encoder.stringToBytes('secret');
140
- const ciphertext = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, cek, iv, plaintext);
141
- const keyId = await Encryption.getKeyId(recipientPublicKey);
142
- const encryption = await Encryption.buildEncryptionProperty({
143
- initializationVector: iv,
144
- key: cek,
145
- keyEncryptionInputs: [{
146
- derivationScheme: KeyDerivationScheme.ProtocolPath,
147
- keyId,
148
- publicKey: recipientPublicKey,
149
- }],
150
- });
175
+ const { ciphertext, message, recipientPrivateKey, } = await createEncryptedRecordFixture(Encoder.stringToBytes('secret'));
151
176
  const wrongCiphertext = TestDataGenerator.randomBytes(ciphertext.length);
152
- const message = {
153
- descriptor: {
154
- dataCid: await Cid.computeDagPbCidFromBytes(ciphertext),
155
- dataFormat: 'text/plain',
156
- dataSize: ciphertext.byteLength,
157
- dateCreated: '2024-01-01T00:00:00.000000Z',
158
- interface: 'Records',
159
- messageTimestamp: '2024-01-01T00:00:00.000000Z',
160
- method: 'Write',
161
- protocol: 'https://example.com/protocol',
162
- protocolPath: 'note',
163
- },
164
- encryption,
165
- recordId: 'test-record-id',
166
- };
167
177
  await expect(Records.decrypt(message, {
168
178
  derivedPrivateKey: recipientPrivateKey,
169
179
  derivationScheme: KeyDerivationScheme.ProtocolPath,
@@ -171,37 +181,7 @@ describe('Encryption', () => {
171
181
  }, DataStream.fromBytes(wrongCiphertext))).rejects.toThrow(DwnErrorCode.RecordsWriteDataCidMismatch);
172
182
  });
173
183
  it('should propagate errors thrown by KeyDecrypter.decrypt()', async () => {
174
- const recipientPrivateKey = await X25519.generateKey();
175
- const recipientPublicKey = await X25519.getPublicKey({ key: recipientPrivateKey });
176
- const cek = TestDataGenerator.randomBytes(32);
177
- const iv = TestDataGenerator.randomBytes(16);
178
- const plaintext = TestDataGenerator.randomBytes(64);
179
- const ciphertext = await Encryption.encrypt(ContentEncryptionAlgorithm.A256CTR, cek, iv, plaintext);
180
- const keyId = await Encryption.getKeyId(recipientPublicKey);
181
- const encryption = await Encryption.buildEncryptionProperty({
182
- initializationVector: iv,
183
- key: cek,
184
- keyEncryptionInputs: [{
185
- derivationScheme: KeyDerivationScheme.ProtocolPath,
186
- keyId,
187
- publicKey: recipientPublicKey,
188
- }],
189
- });
190
- const message = {
191
- descriptor: {
192
- dataCid: await Cid.computeDagPbCidFromBytes(ciphertext),
193
- dataFormat: 'application/octet-stream',
194
- dataSize: ciphertext.byteLength,
195
- dateCreated: '2024-01-01T00:00:00.000000Z',
196
- interface: 'Records',
197
- messageTimestamp: '2024-01-01T00:00:00.000000Z',
198
- method: 'Write',
199
- protocol: 'https://example.com/protocol',
200
- protocolPath: 'note',
201
- },
202
- encryption,
203
- recordId: 'test-record-id',
204
- };
184
+ const { ciphertext, message, recipientPublicKey, } = await createEncryptedRecordFixture();
205
185
  const failingDecrypter = {
206
186
  decrypt: async () => {
207
187
  throw new Error('KeyDecrypter: key derivation failed');
@@ -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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"}
@@ -0,0 +1,40 @@
1
+ import { validateJsonSchema } from '../../../../src/schema-validator.js';
2
+ import { describe, expect, it } from 'bun:test';
3
+ const audienceKey = {
4
+ contextId: 'thread-1',
5
+ epoch: 1,
6
+ keyMaterial: {
7
+ algorithm: 'X25519-HKDF-SHA256+A256KW',
8
+ derivationScheme: 'roleAudience',
9
+ keyId: 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG',
10
+ privateKeyJwk: {
11
+ crv: 'X25519',
12
+ d: 'private-key',
13
+ kty: 'OKP',
14
+ x: 'public-key',
15
+ },
16
+ publicKeyJwk: {
17
+ crv: 'X25519',
18
+ kty: 'OKP',
19
+ x: 'public-key',
20
+ },
21
+ },
22
+ protocol: 'https://example.com/protocol',
23
+ role: 'thread/participant',
24
+ };
25
+ describe('AudienceKey Schema', () => {
26
+ it('should accept roleAudience X25519 key material', () => {
27
+ expect(() => validateJsonSchema('AudienceKey', audienceKey)).not.toThrow();
28
+ });
29
+ it('should reject unsupported key material algorithms', () => {
30
+ const invalidAudienceKey = structuredClone(audienceKey);
31
+ invalidAudienceKey.keyMaterial.algorithm = 'unsupported';
32
+ expect(() => validateJsonSchema('AudienceKey', invalidAudienceKey)).toThrow();
33
+ });
34
+ it('should reject non-roleAudience key material', () => {
35
+ const invalidAudienceKey = structuredClone(audienceKey);
36
+ invalidAudienceKey.keyMaterial.derivationScheme = 'protocolPath';
37
+ expect(() => validateJsonSchema('AudienceKey', invalidAudienceKey)).toThrow();
38
+ });
39
+ });
40
+ //# sourceMappingURL=audience-key.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience-key.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/audience-key.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,GAAG;IAClB,SAAS,EAAK,UAAU;IACxB,KAAK,EAAS,CAAC;IACf,WAAW,EAAG;QACZ,SAAS,EAAU,2BAA2B;QAC9C,gBAAgB,EAAG,cAAc;QACjC,KAAK,EAAc,6CAA6C;QAChE,aAAa,EAAM;YACjB,GAAG,EAAG,QAAQ;YACd,CAAC,EAAK,aAAa;YACnB,GAAG,EAAG,KAAK;YACX,CAAC,EAAK,YAAY;SACnB;QACD,YAAY,EAAE;YACZ,GAAG,EAAG,QAAQ;YACd,GAAG,EAAG,KAAK;YACX,CAAC,EAAK,YAAY;SACnB;KACF;IACD,QAAQ,EAAG,8BAA8B;IACzC,IAAI,EAAO,oBAAoB;CAChC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CACrD,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,kBAAkB,CAAC,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC;QAEzD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAC5D,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,GAAG,cAAc,CAAC;QAEjE,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAC5D,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,19 +1,23 @@
1
1
  import { validateJsonSchema } from '../../../../src/schema-validator.js';
2
2
  import { describe, expect, it } from 'bun:test';
3
3
  const grantKey = {
4
- derivationPath: ['protocolPath', 'https://example.com/protocol', 'message'],
5
4
  grantId: 'grant-id',
6
- keyId: 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG',
7
- privateKeyJwk: {
8
- crv: 'X25519',
9
- d: 'private-key',
10
- kty: 'OKP',
11
- x: 'public-key',
12
- },
13
- publicKeyJwk: {
14
- crv: 'X25519',
15
- kty: 'OKP',
16
- x: 'public-key',
5
+ keyMaterial: {
6
+ algorithm: 'X25519-HKDF-SHA256+A256KW',
7
+ derivationPath: ['protocolPath', 'https://example.com/protocol', 'message'],
8
+ derivationScheme: 'protocolPath',
9
+ keyId: 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG',
10
+ privateKeyJwk: {
11
+ crv: 'X25519',
12
+ d: 'private-key',
13
+ kty: 'OKP',
14
+ x: 'public-key',
15
+ },
16
+ publicKeyJwk: {
17
+ crv: 'X25519',
18
+ kty: 'OKP',
19
+ x: 'public-key',
20
+ },
17
21
  },
18
22
  scope: {
19
23
  protocol: 'https://example.com/protocol',
@@ -27,17 +31,17 @@ describe('GrantKey Schema', () => {
27
31
  });
28
32
  it('should reject derivation paths that do not start with protocolPath', () => {
29
33
  const invalidGrantKey = structuredClone(grantKey);
30
- invalidGrantKey.derivationPath[0] = 'unsupported';
34
+ invalidGrantKey.keyMaterial.derivationPath[0] = 'unsupported';
31
35
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
32
36
  });
33
37
  it('should reject empty derivation path segments', () => {
34
38
  const invalidGrantKey = structuredClone(grantKey);
35
- invalidGrantKey.derivationPath[2] = '';
39
+ invalidGrantKey.keyMaterial.derivationPath[2] = '';
36
40
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
37
41
  });
38
42
  it('should reject derivation paths with too many segments', () => {
39
43
  const invalidGrantKey = structuredClone(grantKey);
40
- invalidGrantKey.derivationPath = [
44
+ invalidGrantKey.keyMaterial.derivationPath = [
41
45
  'protocolPath',
42
46
  'https://example.com/protocol',
43
47
  'a',
@@ -56,7 +60,12 @@ describe('GrantKey Schema', () => {
56
60
  });
57
61
  it('should reject key IDs that are not base64url thumbprints', () => {
58
62
  const invalidGrantKey = structuredClone(grantKey);
59
- invalidGrantKey.keyId = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEF!';
63
+ invalidGrantKey.keyMaterial.keyId = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEF!';
64
+ expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
65
+ });
66
+ it('should reject unsupported key material algorithms', () => {
67
+ const invalidGrantKey = structuredClone(grantKey);
68
+ invalidGrantKey.keyMaterial.algorithm = 'unsupported';
60
69
  expect(() => validateJsonSchema('GrantKey', invalidGrantKey)).toThrow();
61
70
  });
62
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grant-key.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/grant-key.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,QAAQ,GAAG;IACf,cAAc,EAAG,CAAC,cAAc,EAAE,8BAA8B,EAAE,SAAS,CAAC;IAC5E,OAAO,EAAU,UAAU;IAC3B,KAAK,EAAY,6CAA6C;IAC9D,aAAa,EAAI;QACf,GAAG,EAAG,QAAQ;QACd,CAAC,EAAK,aAAa;QACnB,GAAG,EAAG,KAAK;QACX,CAAC,EAAK,YAAY;KACnB;IACD,YAAY,EAAE;QACZ,GAAG,EAAG,QAAQ;QACd,GAAG,EAAG,KAAK;QACX,CAAC,EAAK,YAAY;KACnB;IACD,KAAK,EAAE;QACL,QAAQ,EAAO,8BAA8B;QAC7C,YAAY,EAAG,SAAS;QACxB,MAAM,EAAS,cAAc;KAC9B;CACF,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC/C,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QAElD,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEvC,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,cAAc,GAAG;YAC/B,cAAc;YACd,8BAA8B;YAC9B,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAC;QAEF,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,eAAe,CAAC,KAAK,GAAG,6CAA6C,CAAC;QAEtE,MAAM,CACJ,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CACtD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"grant-key.spec.js","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/grant-key.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAM0ga;;;;YAA2wD;;;;;;;;;;;;AANrlQ;;;;YAG55W;;;;;;;;;;;;AAGs5oB;;;;YAA+mN;;;;;;;;;;;;AAAswC;;;;YAAs63B;;;;;;;;;;;;AAAmhD;;;;YAAq8+B;;;;;;;;;;;;AAAwqoD;;;;YAA8kM;;;;;;;;;;;;AAAm5B;;;;YAA+lN;;;;;;;;;;;;AAAukD;;;;YAAovW;;;;;;;;;;;;AAAmwD;;;;YAAuxf;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAhg3K;;;;YAAkhE;;;;;;;;;;;;AAH0wP;;;;YAGt9T;;;;;;;;;;;;;;;;;;;AAAoj6K;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AAN7g7M;;;;YAAi1I;;;;;;;;;;;;AAM01zM;;;;YAAsnH;;;;;;;;;;;;AAAm2B;;;;YAA2hN;;;;;;;;;;;;AAAsoC;;;;YAA8ib;;;;;;;;;;;;AAA45B;;;;YAAs7O;;;;;;;;;;;;AAA6gC;;;;YAA21X;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAAwH;;;;YAAiyH;;;;;;;;;;;;AAAi+iC;;;;YAAg4f;;;;;;;;;;;;AAA0g8B;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA6lC;;;;YAA6nB;;;;;;;;;;AAA6kE;;;;YAA+nB;;;;;;;;;;AAAiwkC;;;;YAAq1X;;;;;;;;;;;;AAA53wC;;;;YAAu94B;;;;;;;;;;;;AAAk5Z;;;;YAAksM;;;;;;;;;;;;AAA2/B;;;;YAAovQ;;;;;;;;;;;;AAAgjC;;;;YAA8/N;;;;;;;;;;;;AAAxu0U;;;;YAAo2/C;;;;;;;;;;;;AAH362I;;;;YAAwivB;;;;;;;;;;AAG85+Y;;;;YAAg1I;;;;;;;;;;;;AAAmsB;;;;YAA6mJ;;;;;;;;;;;;AAA4H;;;;YAAkiK"}
1
+ {"version":3,"file":"precompiled-validators.d.ts","sourceRoot":"","sources":["../../../generated/precompiled-validators.js"],"names":[],"mappings":"AAC66K;;;;YAA+tC;;;;;;;;AAM0ga;;;;YAA2wD;;;;;;;;;;;;AANrlQ;;;;YAG55W;;;;;;;;;;;;AAGs5oB;;;;YAA+mN;;;;;;;;;;;;AAA65yB;;;;YAAiiO;;;;;;;;;;;;AAA0qzB;;;;YAAorV;;;;;;;;;;;;AAAwqoD;;;;YAA8kM;;;;;;;;;;;;AAAm5B;;;;YAA+lN;;;;;;;;;;;;AAAukD;;;;YAAovW;;;;;;;;;;;;AAAmwD;;;;YAAuxf;;;;;;;;;;;;AAA8X;;;;YAAgkD;;;;;;;;;;;;AAAxpkL;;;;YAAkhE;;;;;;;;;;;;AAH0wP;;;;YAGt9T;;;;;;;;;;;;;;;;;;;AAA4snL;;;;YAAinB;;;;;;;;;;AAAwG;;;;YAAk5e;;;;;;;;;;AANrqoN;;;;YAAi1I;;;;;;;;;;;;AAMk/gN;;;;YAAsnH;;;;;;;;;;;;AAAm2B;;;;YAA2hN;;;;;;;;;;;;AAAuoC;;;;YAAgjb;;;;;;;;;;;;AAA45B;;;;YAAs7O;;;;;;;;;;;;AAA6gC;;;;YAA21X;;;;;;;;;;;;AAA4H;;;;YAA8sK;;;;;;;;;;;;AAA2H;;;;YAAqvE;;;;;;;;;;;;AAAwH;;;;YAAiyH;;;;;;;;;;;;AAAi+iC;;;;YAAg4f;;;;;;;;;;;;AAA0g8B;;;;YAAyiI;;;;;;;;;;;;AAA6X;;;;YAAgtC;;;;;;;;;;;;AAA6lC;;;;YAA6nB;;;;;;;;;;AAA6kE;;;;YAA+nB;;;;;;;;;;AAAiwkC;;;;YAAq1X;;;;;;;;;;;;AAA53wC;;;;YAAu94B;;;;;;;;;;;;AAAk5Z;;;;YAAksM;;;;;;;;;;;;AAA2/B;;;;YAAovQ;;;;;;;;;;;;AAAijC;;;;YAAghO;;;;;;;;;;;;AAA9v0U;;;;YAAo2/C;;;;;;;;;;;;AAHnkkJ;;;;YAAwivB;;;;;;;;;;AAG8ksZ;;;;YAA81I;;;;;;;;;;;;AAAqsB;;;;YAA4nJ;;;;;;;;;;;;AAA8H;;;;YAAgjK"}
@@ -26,6 +26,7 @@ export type RoleAudienceKeyEncryption = {
26
26
  encryptedKey: string;
27
27
  };
28
28
  export type KeyEncryption = ProtocolPathKeyEncryption | RoleAudienceKeyEncryption;
29
+ export type X25519KeyEncryption = ProtocolPathKeyEncryption | RoleAudienceKeyEncryption;
29
30
  export type DwnEncryption = {
30
31
  algorithm: ContentEncryptionAlgorithm.A256CTR;
31
32
  initializationVector: string;
@@ -45,6 +46,7 @@ export type RoleAudienceKeyEncryptionInput = {
45
46
  epoch: number;
46
47
  };
47
48
  export type KeyEncryptionInput = ProtocolPathKeyEncryptionInput | RoleAudienceKeyEncryptionInput;
49
+ export type X25519KeyEncryptionInput = ProtocolPathKeyEncryptionInput | RoleAudienceKeyEncryptionInput;
48
50
  export type EncryptionInput = {
49
51
  algorithm?: ContentEncryptionAlgorithm;
50
52
  key: Uint8Array;
@@ -65,10 +67,15 @@ export declare class Encryption {
65
67
  encryptedKey: Uint8Array;
66
68
  ephemeralPublicKey: PublicKeyJwk;
67
69
  }>;
70
+ private static wrapX25519Key;
68
71
  static unwrapKey(recipientPrivateKey: Jwk, keyEncryption: KeyEncryption): Promise<Uint8Array>;
72
+ private static unwrapX25519Key;
69
73
  static buildEncryptionProperty(encryptionInput: EncryptionInput): Promise<DwnEncryption>;
70
74
  static getKeyId(publicKeyJwk: PublicKeyJwk): Promise<string>;
71
75
  static validateEncryptionProperty(encryption: DwnEncryption): void;
76
+ private static buildKeyEncryptionEntry;
77
+ private static validateKeyEncryptionEntry;
78
+ private static validateX25519KeyEncryptionEntry;
72
79
  private static deriveKek;
73
80
  private static getKekInfo;
74
81
  private static validateContentEncryptionParameters;
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=audience-key.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience-key.spec.d.ts","sourceRoot":"","sources":["../../../../../../tests/validation/json-schemas/encryption/audience-key.spec.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enbox/dwn-sdk-js",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "A reference implementation of https://identity.foundation/decentralized-web-node/spec/",
5
5
  "repository": {
6
6
  "type": "git",