3.1.5.2.1 Request Behavior
The Digital Rights Management (DRM) version 7 License Request packet is used by the client to request a license for protected media content.

Figure 4: DRM version 7 request packet process
The higher layer MUST set appropriate values for ClientCertificate, RightsRequested, ClientAppSec, ClientVersion, SecurityVersion, SubjectId1, SubjectId2, DrmKVersion, RevocationInfo, and WRMHeader. The client generates a 16-byte random number as SessionKey. The client populates a DRM Version 1 License Request packet with the following mapping:
ClientCertificate -> pkcert
RightsRequested ->A sequence of <ActionNameType> elements under the <ACTION> element
ClientAppSec ->AppSec
KeyID is set to all zeros
The client populates a V7 license challenge request mapping the following state variables to the appropriate XML elements:
ClientVersion -> <CLIENTVERSION>
SecurityVersions -> <SECURITYVERSION>
ClientAppSec -> <APPSECURITY>
SubjectId1 -> <SUBJECTID1>
SubjectId2 -> <SUBJECTID2>
DrmKVersion -> <DRMKVERSION>
WRMHeader -> <WRMHEADER>
A CLIENTID structure is populated by the client as described in section 2.2.3.1.3.4 using ClientCertificate as CLIENTID.pkcert, and SessionKey is encrypted with KS and included as CLIENTID.EncRandNum. The populated CLIENTID structure is base64 encoded and included in the request packet as XML element CLIENTID.
The version 1 request packet is base64 encoded and included in the version 7 license request packet as the XML element <V1CHALLENGE>.
The client-generated license request is sent to a license server by using an HTTP POST request.