ILicenseAcquisitionHandler.HandleLicenseAcquisitionAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Service implemented method handling the license acquistion requests.
public System.Threading.Tasks.Task<Microsoft.Media.Drm.LicenseResponse> HandleLicenseAcquisitionAsync (Microsoft.Media.Drm.ILicenseChallenge challenge);
abstract member HandleLicenseAcquisitionAsync : Microsoft.Media.Drm.ILicenseChallenge -> System.Threading.Tasks.Task<Microsoft.Media.Drm.LicenseResponse>
Public Function HandleLicenseAcquisitionAsync (challenge As ILicenseChallenge) As Task(Of LicenseResponse)
Parameters
- challenge
- ILicenseChallenge
Parsed ILicenseChallenge received from the client.
Returns
The LicenseResponse to be returned to the client.
Remarks
A license acquisition request is a request from the client for license(s) that grant the right to perform actions on a specified piece of content, license(s) that provide key exchange, and/or the current server time. In this method, the service would typically perform the following steps in order.
- Read the CustomData from the incoming request.
- Authenticate the user.
- If license(s) should only be delivered to customers with registered domains, determeine whether GetDomainCertificates() returns a valid certificate for this client and throw a DomainRequiredException if not.
- If license(s) should be issued (required unless LicenseServerTimeRequested is true), create one or more License objects.
- For each License created, add any desired Rights and restrictions to the license and the BindingKey to bind the license to the appropriate certificate or root license. For content licenses, set the ContentEncryptionKey property. (If present, the service can use the EncryptionType from the ContentHeader to determine the requested ContentKeyType.) Then call AddLicense(License).
- If ReeFeatureList contains LicenseServerTime, set the LicenseServerTimeCertificate property.
- If license acknowledgement requests are supported, set the TransactionId property and store transactional data needed to verify license acknowledgement results.
- Set any additional desired properties on the LicenseResponse.