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.