Neuerungen in PlayReady Version 4.6

Diese Seite enthält eine Übersicht über die wichtigsten Änderungen zwischen PlayReady Version 4.5 und PlayReady Version 4.6.

Allgemeine Änderungen in PlayReady Version 4.6

Schlüsselaustausch

Ab PlayReady 4.6 kann eine einzelne Key Exchange-Lizenz mehrere Schlüssel mit unterschiedlichen Algorithmen enthalten.

Änderungen in PlayReady Server SDK Version 4.6

Allgemeine Serveränderungen

  • Das .NET Core SDK wurde zu .NET Version 6.0 migriert.
  • Schlüsselaustauschlizenzen können jetzt mehrere Schlüssel mit unterschiedlichen Algorithmen enthalten.

Änderungen an der Server-API

Dies ist nur eine Übersicht. Weitere Informationen finden Sie in der Dokumentation zur Server-API .

  • Die LicenseChallengeReeFeatures-Enumeration enthält jetzt den Wert KeyExchangeMultiple.
  • Die KeyExchangeLicense-Klassenmethode AddRight kann jetzt mehrmals mit verschiedenen KeyExchangeRight-Instanzen mit unterschiedlichen Algorithmen aufgerufen werden, wenn die ReeFeatureList der Herausforderung LicenseChallengeReeFeatures.KeyExchangeMultiple enthält.
  • IPackagingDataAcquisitionHandler wurde der .NET Core-Version hinzugefügt. Das .NET Core Server SDK wurde ursprünglich ohne diese Funktionalität veröffentlicht. Es wurde zurück hinzugefügt, um diese Funktionslücke zwischen den Legacy- und .NET Core-Editionen zu schließen.
  • IServerAuthorization enthält jetzt OnServerCertificateParsed. Diese Methode wird aufgerufen, nachdem das Serverzertifikat vom Server SDK überprüft wurde. Wenn die Validierung erfolgreich war, wird das Zertifikatobjekt für den Handler bereitgestellt. Andernfalls wird die Validierungs-Ausnahme bereitgestellt.
  • Das Festlegen von LicenseResponse.LicenseServerTimeCertificate löst nun eine Ausnahme aus, wenn ILicenseChallenge.ReeFeatureList keine LicenseChallengeReeFeatures.LicenseServerTime enthält, anstatt nicht verwendbare Lizenzen für den Client auszugeben.

Änderungen in PlayReady Device Porting Kit Version 4.6

Allgemeine Änderungen am Device Porting Kit

  • Weitere nicht unterstützte Codepfade, die nur in Microsoft internen Implementierungen verwendet werden, wurden entfernt, um Verwirrung zu vermeiden und Kompilierzeiten und Binärgrößen zu reduzieren.
  • Code wurde in verschiedene Dateien verschoben, um Linkern eine bessere Optimierung zu ermöglichen.
  • Eine einzelne KeyExchangeLicense mit mehreren verschiedenen Algorithmen wird ordnungsgemäß behandelt.
  • Das xmrlicensetoxml.exe-Tool und der Quellcode wurden hinzugefügt.
  • Alle Speicherbelegungsfunktionen wie Oem_MemAlloc nehmen jetzt größen basierend auf der Systemarchitektur (32-Bit oder 64-Bit) statt immer 32-Bit-Größen an.
  • Ein Speicherverlust in Drm_SecureDelete_GenerateChallenge wurde behoben.
  • Der Drmmanager-Testbereich wurde in zahlreiche separate Testbereiche unterteilt, um die Navigation von Protokollen zu erleichtern. Als einzelner Testbereich war die Protokolldatei enorm.

Änderungen an der Device Porting Kit-API

Dies ist nur eine Übersicht. Weitere Informationen finden Sie in der API-Dokumentation in den zugehörigen Codekommentaren im PlayReady Device Porting Kit .

Die folgenden OEM-REE- und TEE-APIs wurden geändert, um eine DRM_SIZE_T anstelle eines DRM_DWORD für Größen zu verwenden.

  • Oem_MemAlloc
  • Oem_Broker_MemAlloc
  • OEM_TEE_BASE_SecureMemAlloc
  • DRMCRT_ScrubMemory
  • DRMCRT_LocalMemcpy
  • DRMCRT_LocalMemset
  • DRMCRT_LocalDWORDSetZero
  • DRMCRT_LocalAreEqual
  • DRMCRT_LocalDWORDcpy

Die folgenden OEM REE-APIs wurden hinzugefügt:

  • Oem_Device_GetClientOSInformation (optional).

Die folgenden OEM-TEE-APIs wurden geändert:

  • OEM_TEE_BASE_SecureMemHandleFree gibt jetzt DRM_RESULT anstelle von DRM_VOID zurück.
  • OEM_TEE_RPROV_WrapProvisioningRequest enthält jetzt den Sitzungsschlüssel bei der Eingabe, sofern verfügbar.