Поделиться через


Новые возможности PlayReady версии 4.6

Эта страница содержит обзор наиболее существенных изменений между PlayReady версии 4.5 и PlayReady версии 4.6.

Общие изменения в PlayReady версии 4.6

Обмен ключами

Начиная с PlayReady 4.6, одна лицензия на обмен ключами может включать несколько ключей с разными алгоритмами.

Изменения в пакете SDK для сервера PlayReady версии 4.6

Общие изменения сервера

  • Пакет SDK для .NET Core был перенесен в .NET версии 6.0.
  • Теперь лицензии Key Exchange могут включать несколько ключей с разными алгоритмами.

Изменения API сервера

Это просто обзор. Дополнительные сведения см. в документации по API сервера .

  • Перечисление LicenseChallengeReeFeatures теперь содержит значение KeyExchangeMultiple.
  • Метод класса KeyExchangeLicense AddRight теперь можно вызывать несколько раз с разными экземплярами KeyExchangeRight с разными алгоритмами, если reeFeatureList запроса содержит LicenseChallengeReeFeatures.KeyExchangeMultiple.
  • IPackagingDataAcquisitionHandler добавлен в версию .NET Core. Пакет SDK для сервера .NET Core изначально был выпущен без этой функции. Он был добавлен обратно, чтобы закрыть этот разрыв функциональных возможностей между выпусками Legacy и .NET Core.
  • IServerAuthorization теперь включает OnServerCertificateParsed. Этот метод вызывается после проверки сертификата сервера с помощью пакета SDK для сервера. Если проверка выполнена успешно, объект сертификата предоставляется обработчику; В противном случае предоставляется исключение проверки.
  • Если параметр LicenseResponse.LicenseServerTimeCertificate теперь вызывает исключение, если ILicenseChallenge.ReeFeatureList не включает LicenseChallengeReeFeatures.LicenseServerTime вместо выдачи непригодных для использования лицензий клиенту.

Изменения в комплекте переноса устройств PlayReady версии 4.6

Общие изменения в комплекте переноса устройств

  • Больше неподдерживаемых путей кода, используемых только во внутренних реализациях Майкрософт, были удалены, чтобы исключить путаницу и сократить время компиляции и двоичные размеры.
  • Код был перемещен между различными файлами, чтобы компоновщики могли выполнять лучшую оптимизацию.
  • Будет правильно обрабатываться одна лицензия KeyExchangeLicense с несколькими разными алгоритмами.
  • Добавлены средство xmrlicensetoxml.exe и исходный код.
  • Все функции выделения памяти, такие как Oem_MemAlloc теперь принимают размеры на основе архитектуры системы (32-разрядная или 64-разрядная), а не всегда принимают 32-разрядные размеры.
  • Устранена утечка памяти в Drm_SecureDelete_GenerateChallenge.
  • Тестовая область drmmanager была разбита на множество отдельных областей тестирования, чтобы упростить навигацию по журналам. Как одна тестовая область, файл журнала был огромен.

Изменения API пакета переноса устройств

Это просто обзор. Дополнительные сведения см. в документации по API, предоставленной в комментариях к связанному коду в комплекте для переноса устройств PlayReady .

Следующие API OEM REE и TEE были изменены для использования DRM_SIZE_T вместо DRM_DWORD для размеров.

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

Добавлены следующие API-интерфейсы OEM REE:

  • Oem_Device_GetClientOSInformation (необязательно).

Были изменены следующие API TEE oem:

  • OEM_TEE_BASE_SecureMemHandleFree теперь возвращает DRM_RESULT вместо DRM_VOID.
  • OEM_TEE_RPROV_WrapProvisioningRequest теперь включает ключ сеанса для входных данных, если он доступен.