Skip to content

Commit b4e69b6

Browse files
updates to match go behavior
1 parent 518276c commit b4e69b6

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

lib/src/nanotdf/Client.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,11 @@ export default class Client {
258258
header: new Uint8Array(nanoTdfHeader),
259259
kasUrl: '',
260260
protocol: Client.KAS_PROTOCOL,
261-
// type: Client.KEY_ACCESS_REMOTE,
261+
keyType: Client.KEY_ACCESS_REMOTE,
262262
},
263263
},
264264
],
265265
algorithm: DefaultParams.defaultECAlgorithm,
266-
// policy in nano is present within the header?
267266
}),
268267
],
269268
});

lib/tdf3/src/tdf.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -788,15 +788,28 @@ async function unwrapKey({
788788

789789
// TODO: how to handle defaults here?
790790
// Convert keySplitInfo to protobuf KeyAccess
791+
// const keyAccessProto = create(KeyAccessSchema, {
792+
// keyType: keySplitInfo.type || '',
793+
// kasUrl: keySplitInfo.url || '',
794+
// protocol: keySplitInfo.protocol || '',
795+
// wrappedKey: keySplitInfo.wrappedKey ? new Uint8Array(base64.decodeArrayBuffer(keySplitInfo.wrappedKey)) : new Uint8Array(),
796+
// policyBinding: keySplitInfo.policyBinding,
797+
// kid: keySplitInfo.kid || '',
798+
// splitId: keySplitInfo.sid || '',
799+
// encryptedMetadata: keySplitInfo.encryptedMetadata || '',
800+
// });
801+
791802
const keyAccessProto = create(KeyAccessSchema, {
792-
keyType: keySplitInfo.type || '',
793-
kasUrl: keySplitInfo.url || '',
794-
protocol: keySplitInfo.protocol || '',
795-
wrappedKey: keySplitInfo.wrappedKey ? new Uint8Array(base64.decodeArrayBuffer(keySplitInfo.wrappedKey)) : new Uint8Array(),
796-
policyBinding: keySplitInfo.policyBinding,
797-
kid: keySplitInfo.kid || '',
798-
splitId: keySplitInfo.sid || '',
799-
encryptedMetadata: keySplitInfo.encryptedMetadata || '',
803+
...(keySplitInfo.type && { keyType: keySplitInfo.type }),
804+
...(keySplitInfo.url && { kasUrl: keySplitInfo.url }),
805+
...(keySplitInfo.protocol && { protocol: keySplitInfo.protocol }),
806+
...(keySplitInfo.wrappedKey && {
807+
wrappedKey: new Uint8Array(base64.decodeArrayBuffer(keySplitInfo.wrappedKey))
808+
}),
809+
...(keySplitInfo.policyBinding && { policyBinding: keySplitInfo.policyBinding }),
810+
...(keySplitInfo.kid && { kid: keySplitInfo.kid }),
811+
...(keySplitInfo.sid && { splitId: keySplitInfo.sid }),
812+
...(keySplitInfo.encryptedMetadata && { encryptedMetadata: keySplitInfo.encryptedMetadata }),
800813
});
801814

802815
// Create the protobuf request
@@ -811,10 +824,9 @@ async function unwrapKey({
811824
}),
812825
],
813826
policy: create(UnsignedRewrapRequest_WithPolicySchema, {
814-
id: 'policy-0',
827+
id: 'policy',
815828
body: manifest.encryptionInformation.policy,
816829
}),
817-
algorithm: 'RS256',
818830
}),
819831
],
820832
});

0 commit comments

Comments
 (0)