ILicenseAcquisitionHandler.HandleLicenseAcquisitionAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Méthode implémentée par le service qui gère les demandes d’acquisition de licence.
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)
Paramètres
- challenge
- ILicenseChallenge
ILicenseChallenge Analyse reçue du client.
Retours
LicenseResponse à retourner au client.
Remarques
Une demande d’acquisition de licence est une demande du client pour les licences qui accordent le droit d’effectuer des actions sur un élément de contenu spécifié, des licences qui fournissent un échange de clés et/ou l’heure actuelle du serveur. Dans cette méthode, le service effectue généralement les étapes suivantes dans l’ordre.
- Lisez le CustomData à partir de la requête entrante.
- Authentifiez l’utilisateur.
- Si la ou les licences doivent uniquement être remises aux clients disposant de domaines inscrits, déterminez si GetDomainCertificates() retourne un certificat valide pour ce client et lèvez un DomainRequiredException si ce n’est pas le cas.
- Si la ou les licences doivent être émises (obligatoires, sauf si LicenseServerTimeRequested la valeur est true), créez un ou plusieurs License objets.
- Pour chaque License créé, ajoutez les restrictions et les s souhaités Rightà la licence et le BindingKey pour lier la licence au certificat ou à la licence racine approprié. Pour les licences de contenu, définissez la ContentEncryptionKey propriété . (S’il est présent, le service peut utiliser à EncryptionType partir de ContentHeader pour déterminer le demandé ContentKeyType.) Appelez AddLicense(License)ensuite .
- Si ReeFeatureList contient LicenseServerTime, définissez la LicenseServerTimeCertificate propriété .
- Si les demandes d’accusé de réception de licence sont prises en charge, définissez la TransactionId propriété et stockez les données transactionnelles nécessaires pour vérifier les résultats de l’accusé de réception de licence.
- Définissez toutes les propriétés supplémentaires souhaitées sur .LicenseResponse