@@ -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