Novedades de PlayReady, versión 4.6

Esta página contiene información general de los cambios más significativos entre la versión 4.5 de PlayReady y la versión 4.6 de PlayReady.

Cambios generales en La versión 4.6 de PlayReady

Intercambio de claves

A partir de PlayReady 4.6, una única licencia de Intercambio de claves puede incluir varias claves con algoritmos diferentes.

Cambios en la versión 4.6 del SDK de PlayReady Server

Cambios generales en el servidor

  • El SDK de .NET Core se migró a .NET versión 6.0.
  • Las licencias de Intercambio de claves ahora pueden incluir varias claves con algoritmos diferentes.

Cambios en la API del servidor

Esto es simplemente una visión general. Consulte la documentación de server API para obtener más información.

  • La enumeración LicenseChallengeReeFeatures ahora incluye el valor KeyExchangeMultiple.
  • Ahora se puede llamar al método de clase KeyExchangeLicense AddRight varias veces con diferentes instancias de KeyExchangeRight con algoritmos diferentes si reeFeatureList del desafío contiene LicenseChallengeReeFeatures.KeyExchangeMultiple.
  • IPackagingDataAcquisitionHandler se ha agregado a la versión de .NET Core. El SDK de .NET Core Server se publicó originalmente sin esta funcionalidad. Se ha vuelto a agregar para cerrar esta brecha de funcionalidad entre las ediciones Legacy y .NET Core.
  • IServerAuthorization ahora incluye OnServerCertificateParsed. Se llama a este método después de que el SDK de servidor valide el certificado de servidor. Si la validación se realizó correctamente, el objeto de certificado se proporciona al controlador; de lo contrario, se proporciona la excepción de validación.
  • Al establecer LicenseResponse.LicenseServerTimeCertificate ahora se produce una excepción si ILicenseChallenge.ReeFeatureList no incluye LicenseChallengeReeFeatures.LicenseServerTime en lugar de emitir licencias inutilizables al cliente.

Cambios en playReady Device Porting Kit versión 4.6

Cambios generales del Kit de portabilidad de dispositivos

  • Se quitaron más rutas de código no admitidas que solo se usan en implementaciones internas de Microsoft para eliminar confusiones y reducir los tiempos de compilación y los tamaños binarios.
  • El código se movió en varios archivos para permitir que los enlazadores realicen una mejor optimización.
  • Se controlará correctamente una sola keyExchangeLicense con varios algoritmos diferentes.
  • Se agregaron la herramienta xmrlicensetoxml.exe y el código fuente.
  • Todas las funciones de asignación de memoria, como Oem_MemAlloc ahora, toman tamaños basados en la arquitectura del sistema (32 o 64 bits) en lugar de tomar siempre tamaños de 32 bits.
  • Se ha corregido una fuga de memoria en Drm_SecureDelete_GenerateChallenge.
  • El área de prueba drmmanager se dividió en numerosas áreas de prueba independientes para facilitar la navegación de los registros. Como área de prueba única, el archivo de registro era enorme.

Cambios en la API del Kit de migración de dispositivos

Esto es simplemente una visión general. Consulte la documentación de la API que se proporciona en los comentarios de código asociados en el Kit de portabilidad de dispositivos PlayReady para obtener más información.

Se cambiaron las siguientes API DE OEM REE y TEE para usar un DRM_SIZE_T en lugar de un DRM_DWORD para tamaños.

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

Se agregaron las siguientes API de REE de OEM:

  • Oem_Device_GetClientOSInformation (opcional).

Se cambiaron las siguientes API de TEE de OEM:

  • OEM_TEE_BASE_SecureMemHandleFree ahora devuelve DRM_RESULT en lugar de DRM_VOID.
  • OEM_TEE_RPROV_WrapProvisioningRequest ahora incluye la clave de sesión en la entrada cuando está disponible.