Nouveautés de PlayReady version 4.6
Cette page contient une vue d’ensemble des modifications les plus significatives entre PlayReady version 4.5 et PlayReady version 4.6.
Modifications générales dans PlayReady Version 4.6
Échange de clés
À compter de PlayReady 4.6, une seule licence Key Exchange peut inclure plusieurs clés avec différents algorithmes.
Modifications apportées au Kit de développement logiciel (SDK) PlayReady Server version 4.6
Modifications générales du serveur
- Le SDK .NET Core a été migré vers .NET version 6.0.
- Les licences Key Exchange peuvent désormais inclure plusieurs clés avec différents algorithmes.
Modifications de l’API serveur
Il s’agit simplement d’une vue d’ensemble. Pour plus d’informations, consultez la documentation de l’API de serveur.
- L’énumération LicenseChallengeReeFeatures inclut désormais la valeur KeyExchangeMultiple.
- La méthode de classe KeyExchangeLicense AddRight peut désormais être appelée plusieurs fois avec différentes instances KeyExchangeRight avec différents algorithmes si le ReeFeatureList du défi contient LicenseChallengeReeFeatures.KeyExchangeMultiple.
- IPackagingDataAcquisitionHandler a été ajouté à la version .NET Core. Le SDK .NET Core Server a été initialement publié sans cette fonctionnalité. Il a été ajouté de nouveau pour combler cet écart de fonctionnalités entre les éditions héritée et .NET Core.
- IServerAuthorization inclut désormais OnServerCertificateParsed. Cette méthode est appelée après la validation du certificat de serveur par le Kit de développement logiciel (SDK) de serveur. Si la validation a réussi, l’objet de certificat est fourni au gestionnaire ; sinon, l’exception de validation est fournie.
- La définition de LicenseResponse.LicenseServerTimeCertificate lève désormais une exception si ILicenseChallenge.ReeFeatureList n’inclut pas LicenseChallengeReeFeatures.LicenseServerTime au lieu d’émettre des licences inutilisables au client.
Modifications apportées au kit de portage d’appareil PlayReady version 4.6
Modifications générales du kit de portage d’appareil
- D’autres chemins de code non pris en charge utilisés uniquement dans les implémentations internes Microsoft ont été supprimés pour éliminer toute confusion et réduire les temps de compilation et les tailles binaires.
- Le code a été déplacé dans différents fichiers pour permettre aux éditeurs de liens de mieux optimiser.
- Un seul KeyExchangeLicense avec plusieurs algorithmes différents sera correctement géré.
- L’outil xmrlicensetoxml.exe et le code source ont été ajoutés.
- Toutes les fonctions d’allocation de mémoire telles que Oem_MemAlloc prennent désormais des tailles basées sur l’architecture du système (32 bits ou 64 bits) au lieu de toujours prendre des tailles de 32 bits.
- Une fuite de mémoire dans Drm_SecureDelete_GenerateChallenge a été corrigée.
- La zone de test drmmanager a été divisée en plusieurs zones de test distinctes pour faciliter la navigation dans les journaux. En tant que zone de test unique, le fichier journal était énorme.
Modifications de l’API du kit de portage d’appareil
Il s’agit simplement d’une vue d’ensemble. Pour plus d’informations, reportez-vous à la documentation de l’API fournie dans les commentaires de code associés dans le Kit de portage d’appareil PlayReady .
Les API OEM REE et TEE suivantes ont été modifiées pour utiliser un DRM_SIZE_T au lieu d’un DRM_DWORD pour les tailles.
- Oem_MemAlloc
- Oem_Broker_MemAlloc
- OEM_TEE_BASE_SecureMemAlloc
- DRMCRT_ScrubMemory
- DRMCRT_LocalMemcpy
- DRMCRT_LocalMemset
- DRMCRT_LocalDWORDSetZero
- DRMCRT_LocalAreEqual
- DRMCRT_LocalDWORDcpy
Les API OEM REE suivantes ont été ajoutées :
- Oem_Device_GetClientOSInformation (facultatif).
Les API TEE OEM suivantes ont été modifiées :
- OEM_TEE_BASE_SecureMemHandleFree retourne maintenant DRM_RESULT au lieu de DRM_VOID.
- OEM_TEE_RPROV_WrapProvisioningRequest inclut désormais la clé de session lors de l’entrée lorsqu’elle est disponible.