Use case: Multi-key

The multiple keys feature enables packagers to encrypt the video and audio representations using different keys. For instance, it enables management of Widevine L1/L3 use cases where UHD/SD/AUDIO tracks are encrypted using different keys. Multiple keys relies on the intendedTrackType attribute of the ContentKeyUsageRule.

Following is an example request for Live asset “live_asset“, for Widevine, using different keys for UHD, SD, and AUDIO tracks.

<?xml version="1.0" encoding="utf-8"?> 
<cpix:CPIX xmlns:cpix="urn:dashif:org:cpix" contentId="vod_asset" 
version="2.3">
  <cpix:ContentKeyList>
    <cpix:ContentKey kid="Please contact your Verimatrix representative for further information"/>
    <cpix:ContentKey kid="Please contact your Verimatrix representative for further information"/>
    <cpix:ContentKey kid="Please contact your Verimatrix representative for further information"/>
  </cpix:ContentKeyList>
    <cpix:DRMSystemList>
      <cpix:DRMSystem kid="Please contact your Verimatrix representative for further information" 
systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
      <cpix:DRMSystem kid="Please contact your Verimatrix representative for further information" 
systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
      <cpix:DRMSystem kid="Please contact your Verimatrix representative for further information" 
systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
    </cpix:DRMSystemList>
    <cpix:ContentKeyPeriodList>
      <cpix:ContentKeyPeriod id="keyPeriod_9c786af2-f23f-37d2-a7f9-
c94aaf3c94fe" index="1609335911"/>
    </cpix:ContentKeyPeriodList>
    <cpix:ContentKeyUsageRuleList>
      <cpix:ContentKeyUsageRule intendedTrackType="SD" kid="817d4580-
5752-45fc-af3e-988b4decfef1">
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-
a7f9-c94aaf3c94fe"/>
    </cpix:ContentKeyUsageRule>
    <cpix:ContentKeyUsageRule intendedTrackType="HD" kid="e69f4275-
6cee-4bd7-b78d-37d6bb4fc019">
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-
a7f9-c94aaf3c94fe"/>
    </cpix:ContentKeyUsageRule>
    <cpix:ContentKeyUsageRule intendedTrackType="UHD" kid="3789b5eb-
95c7-47c7-9d15-c2e46ba4f7a1">
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-
a7f9-c94aaf3c94fe"/>
    </cpix:ContentKeyUsageRule>
  </cpix:ContentKeyUsageRuleList>
</cpix:CPIX>

Following is an example response for Live asset “live_asset“, for Widevine, using different keys for UHD, SD, and AUDIO tracks.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<cpix:CPIX contentId="vod_asset" xmlns:speke="urn:aws:amazon:com:speke"  xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:enc="http://www. w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:cpix="urn:dashif:org:cpix"> 
  <cpix:ContentKeyList> 
    <cpix:ContentKey explicitIV="/0dxXeW21oRdfyG0uHRS2w==" kid=" 
817d4580-5752-45fc-af3e-988b4decfef1"> 
      <cpix:Data> 
        <pskc:Secret xmlns:pskc="urn:ietf:params:xml:ns:keyprov: pskc"> 
          <pskc:PlainValue>0Q5d4gJtM9I3rt/wDLwlyg==</pskc: 
PlainValue> 
        </pskc:Secret>       </cpix:Data> 
    </cpix:ContentKey> 
    <cpix:ContentKey explicitIV="5LfR4nPG/TTVjoNZxJAVfw==" kid=" e69f4275-6cee-4bd7-b78d-37d6bb4fc019"> 
      <cpix:Data> 
        <pskc:Secret xmlns:pskc="urn:ietf:params:xml:ns:keyprov: pskc"> 
          <pskc:PlainValue>cxap6XG9rHVb03vN7wEBlg==</pskc: 
PlainValue> 
        </pskc:Secret>       </cpix:Data> 
    </cpix:ContentKey> 
    <cpix:ContentKey explicitIV="odDfeKLiXmTA9pmidfS3Yw==" kid=" 
3789b5eb-95c7-47c7-9d15-c2e46ba4f7a1"> 
      <cpix:Data> 
        <pskc:Secret xmlns:pskc="urn:ietf:params:xml:ns:keyprov: pskc"> 
          <pskc:PlainValue>wVyVZmtdKIhogfmDl+dMEQ==</pskc: 
PlainValue> 
        </pskc:Secret>       </cpix:Data> 
    </cpix:ContentKey> 
  </cpix:ContentKeyList> 
  <cpix:DRMSystemList> 
    <cpix:DRMSystem kid="817d4580-5752-45fc-af3e-988b4decfef1"  systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> 
      <cpix: 
PSSH>AAAAXHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADwSEIF9RYBXUkX8rz6Yi03s 
/vESEOafQnVs7kvXt4031rtPwBkSEDeJteuVx0fHnRXC5Guk96FI49yVmwY=</cpix:PSSH>       <cpix: 
ContentProtectionData>PGNlbmM6cHNzaCB4bWxuczpjZW5jPSJ1cm46bXBlZzpjZW5jOj 
IwMTMiPkFBQUFYSEJ6YzJnQUFBQUE3ZStMcVhuV1NzNmp5Q2ZjMVIwaDdRQUFBRHdTRUlGOV JZQlhVa1g4cno2WWkwM3MvdkVTRU9hZlFuVnM3a3ZYdDQwMzFydFB3QmtTRURlSnRldVZ4MG 
ZIblJYQzVHdWs5NkZJNDl5Vm13WT08L2NlbmM6cHNzaD4=</cpix: 
ContentProtectionData> 
      <cpix: 
HLSSignalingData>I0VYVC1YLUtFWTpNRVRIT0Q9U0FNUExFLUFFUyxVUkk9ImRhdGE6dGV 
4dC9wbGFpbjtiYXNlNjQsQUFBQVhIQnpjMmdBQUFBQTdlK0xxWG5XU3M2anlDZmMxUjBoN1F 
BQUFEd1NFSUY5UllCWFVrWDhyejZZaTAzcy92RVNFT2FmUW5Wczdrdlh0NDAzMXJ0UHdCa1N 
FRGVKdGV1VngwZkhuUlhDNUd1azk2Rkk0OXlWbXdZPSIsSVY9MHhmZjQ3NzE1ZGU1YjZkNjg 0NWQ3ZjIxYjRiODc0NTJkYixLRVlGT1JNQVQ9InVybjp1dWlkOmVkZWY4YmE5LTc5ZDYtNGF jZS1hM2M4LTI3ZGNkNTFkMjFlZCIsS0VZRk9STUFUVkVSU0lPTlM9IjEi</cpix: 
HLSSignalingData> 
    </cpix:DRMSystem> 
    <cpix:DRMSystem kid="e69f4275-6cee-4bd7-b78d-37d6bb4fc019"  systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> 
      <cpix: 
PSSH>AAAAXHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADwSEIF9RYBXUkX8rz6Yi03s 
/vESEOafQnVs7kvXt4031rtPwBkSEDeJteuVx0fHnRXC5Guk96FI49yVmwY=</cpix:PSSH>       <cpix: 
ContentProtectionData>PGNlbmM6cHNzaCB4bWxuczpjZW5jPSJ1cm46bXBlZzpjZW5jOj 
IwMTMiPkFBQUFYSEJ6YzJnQUFBQUE3ZStMcVhuV1NzNmp5Q2ZjMVIwaDdRQUFBRHdTRUlGOV JZQlhVa1g4cno2WWkwM3MvdkVTRU9hZlFuVnM3a3ZYdDQwMzFydFB3QmtTRURlSnRldVZ4MG 
ZIblJYQzVHdWs5NkZJNDl5Vm13WT08L2NlbmM6cHNzaD4=</cpix: 
ContentProtectionData> 
      <cpix: 
HLSSignalingData>I0VYVC1YLUtFWTpNRVRIT0Q9U0FNUExFLUFFUyxVUkk9ImRhdGE6dGV 
4dC9wbGFpbjtiYXNlNjQsQUFBQVhIQnpjMmdBQUFBQTdlK0xxWG5XU3M2anlDZmMxUjBoN1F 
BQUFEd1NFSUY5UllCWFVrWDhyejZZaTAzcy92RVNFT2FmUW5Wczdrdlh0NDAzMXJ0UHdCa1N 
FRGVKdGV1VngwZkhuUlhDNUd1azk2Rkk0OXlWbXdZPSIsSVY9MHhlNGI3ZDFlMjczYzZmZDM 0ZDU4ZTgzNTljNDkwMTU3ZixLRVlGT1JNQVQ9InVybjp1dWlkOmVkZWY4YmE5LTc5ZDYtNGF jZS1hM2M4LTI3ZGNkNTFkMjFlZCIsS0VZRk9STUFUVkVSU0lPTlM9IjEi</cpix: 
HLSSignalingData> 
    </cpix:DRMSystem> 
    <cpix:DRMSystem kid="3789b5eb-95c7-47c7-9d15-c2e46ba4f7a1"  systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> 
      <cpix: 
PSSH>AAAAXHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADwSEIF9RYBXUkX8rz6Yi03s 
/vESEOafQnVs7kvXt4031rtPwBkSEDeJteuVx0fHnRXC5Guk96FI49yVmwY=</cpix:PSSH>       <cpix: 
ContentProtectionData>PGNlbmM6cHNzaCB4bWxuczpjZW5jPSJ1cm46bXBlZzpjZW5jOj 
IwMTMiPkFBQUFYSEJ6YzJnQUFBQUE3ZStMcVhuV1NzNmp5Q2ZjMVIwaDdRQUFBRHdTRUlGOV JZQlhVa1g4cno2WWkwM3MvdkVTRU9hZlFuVnM3a3ZYdDQwMzFydFB3QmtTRURlSnRldVZ4MG 
ZIblJYQzVHdWs5NkZJNDl5Vm13WT08L2NlbmM6cHNzaD4=</cpix: 
ContentProtectionData> 
      <cpix: 
HLSSignalingData>I0VYVC1YLUtFWTpNRVRIT0Q9U0FNUExFLUFFUyxVUkk9ImRhdGE6dGV 
4dC9wbGFpbjtiYXNlNjQsQUFBQVhIQnpjMmdBQUFBQTdlK0xxWG5XU3M2anlDZmMxUjBoN1F 
BQUFEd1NFSUY5UllCWFVrWDhyejZZaTAzcy92RVNFT2FmUW5Wczdrdlh0NDAzMXJ0UHdCa1N 
FRGVKdGV1VngwZkhuUlhDNUd1azk2Rkk0OXlWbXdZPSIsSVY9MHhhMWQwZGY3OGEyZTI1ZTY 0YzBmNjk5YTI3NWY0Yjc2MyxLRVlGT1JNQVQ9InVybjp1dWlkOmVkZWY4YmE5LTc5ZDYtNGF jZS1hM2M4LTI3ZGNkNTFkMjFlZCIsS0VZRk9STUFUVkVSU0lPTlM9IjEi</cpix: 
HLSSignalingData> 
    </cpix:DRMSystem> 
  </cpix:DRMSystemList> 
  <cpix:ContentKeyPeriodList> 
    <cpix:ContentKeyPeriod id="keyPeriod_9c786af2-f23f-37d2-a7f9- c94aaf3c94fe" index="1609335911"/>   </cpix:ContentKeyPeriodList> 
  <cpix:ContentKeyUsageRuleList> 
    <cpix:ContentKeyUsageRule kid="817d4580-5752-45fc-af3e- 
988b4decfef1" intendedTrackType="SD"> 
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-a7f9c94aaf3c94fe"/> 
    </cpix:ContentKeyUsageRule> 
    <cpix:ContentKeyUsageRule kid="e69f4275-6cee-4bd7-b78d-37d6bb4fc019" intendedTrackType="HD"> 
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-a7f9c94aaf3c94fe"/> 
    </cpix:ContentKeyUsageRule> 
    <cpix:ContentKeyUsageRule kid="3789b5eb-95c7-47c7-9d15- c2e46ba4f7a1" intendedTrackType="UHD"> 
      <cpix:KeyPeriodFilter periodId="keyPeriod_9c786af2-f23f-37d2-a7f9c94aaf3c94fe"/> 
    </cpix:ContentKeyUsageRule> 
  </cpix:ContentKeyUsageRuleList> 
</cpix:CPIX>