Compartilhar via


Novidades no PlayReady versão 4.6

Esta página contém uma visão geral das alterações mais significativas entre o PlayReady versão 4.5 e o PlayReady versão 4.6.

Alterações gerais no PlayReady versão 4.6

Troca de chaves

A partir do PlayReady 4.6, uma única licença do Key Exchange pode incluir várias chaves com algoritmos diferentes.

Alterações no SDK do PlayReady Server versão 4.6

Alterações gerais do servidor

  • O SDK do .NET Core foi migrado para o .NET versão 6.0.
  • As licenças do Key Exchange agora podem incluir várias chaves com algoritmos diferentes.

Alterações na API do Servidor

Isso é apenas uma visão geral. Consulte a documentação da API do Servidor para obter mais informações.

  • A enumeração LicenseChallengeReeFeatures agora inclui o valor KeyExchangeMultiple.
  • O método de classe KeyExchangeLicense AddRight agora pode ser chamado várias vezes com diferentes instâncias KeyExchangeRight com algoritmos diferentes se ReeFeatureList do desafio contiver LicenseChallengeReeFeatures.KeyExchangeMultiple.
  • IPackagingDataAcquisitionHandler foi adicionado à versão do .NET Core. O SDK do .NET Core Server foi lançado originalmente sem essa funcionalidade. Ele foi adicionado novamente para fechar essa lacuna de funcionalidade entre as edições Herdada e .NET Core.
  • IServerAuthorization agora inclui OnServerCertificateParsed. Esse método é chamado depois que o Certificado do Servidor é validado pelo SDK do Servidor. Se a validação for bem-sucedida, o objeto de certificado será fornecido ao manipulador; caso contrário, a exceção de validação será fornecida.
  • A configuração de LicenseResponse.LicenseServerTimeCertificate agora gerará uma exceção se ILicenseChallenge.ReeFeatureList não incluir LicenseChallengeReeFeatures.LicenseServerTime em vez de emitir licenças inutilizáveis para o cliente.

Alterações no Kit de Portabilidade de Dispositivo PlayReady versão 4.6

Alterações gerais do Kit de Portabilidade de Dispositivos

  • Mais codepaths sem suporte usados apenas em implementações internas do Microsoft foram removidos para eliminar a confusão e reduzir os tempos de compilação e os tamanhos binários.
  • O código foi movido entre vários arquivos para permitir que os vinculadores façam uma otimização melhor.
  • Um único KeyExchangeLicense com vários algoritmos diferentes será tratado corretamente.
  • A ferramenta xmrlicensetoxml.exe e o código-fonte foram adicionados.
  • Todas as funções de alocação de memória, como Oem_MemAlloc agora assumem tamanhos com base na arquitetura do sistema (32 bits ou 64 bits), em vez de sempre usar tamanhos de 32 bits.
  • Um vazamento de memória em Drm_SecureDelete_GenerateChallenge foi corrigido.
  • A área de teste do drmmanager foi dividida em várias áreas de teste separadas para facilitar a navegação dos logs. Como uma única área de teste, o arquivo de log era enorme.

Alterações na API do Kit de Portabilidade do Dispositivo

Isso é apenas uma visão geral. Consulte a documentação da API fornecida nos comentários de código associados no Kit de Portabilidade de Dispositivo PlayReady para obter mais informações.

As APIs OEM REE e TEE a seguir foram alteradas para usar um DRM_SIZE_T em vez de um DRM_DWORD para tamanhos.

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

As seguintes APIs OEM REE foram adicionadas:

  • Oem_Device_GetClientOSInformation (opcional).

As seguintes APIs do OEM TEE foram alteradas:

  • OEM_TEE_BASE_SecureMemHandleFree agora retorna DRM_RESULT em vez de DRM_VOID.
  • OEM_TEE_RPROV_WrapProvisioningRequest agora inclui a chave de sessão na entrada quando disponível.