Compartilhar via


Sintaxe herdada para o servidor de teste do PlayReady

Visão geral

O Servidor de Teste do PlayReady mantém suporte para sintaxe herdada para garantir a compatibilidade com versões anteriores do PlayReady e aplicativos cliente existentes. Essa abordagem herdada usa formatos de parâmetro simplificados e métodos HTTP tradicionais com suporte desde as primeiras versões do PlayReady.

Formato de URL herdado

A sintaxe herdada usa uma estrutura de URL simplificada:

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=KEY_ID

Parâmetros herdados com suporte

Parâmetro PlayRight

O PlayRight parâmetro especifica permissões básicas de licença:

  • 1: Permitir reprodução (licença básica)
  • 2: Permitir reprodução com proteção de cópia
  • 3: Permitir reprodução com proteção aprimorada
  • 0: Negar a reprodução (para cenários de negação de teste)

Parâmetro de ID da chave (kid)

O formato herdado dá suporte à especificação de ID de Chave simplificada:

  • Formato guid padrão: 12345678-1234-1234-1234-123456789012
  • Formato simplificado: 123456789012345678901234567890123456
  • Formato codificado em Base64: base64-encoded-key-id

Tipos de licença herdados

Licença básica de reprodução

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012

Licença Copy-Protected

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=2&kid=12345678-1234-1234-1234-123456789012

Licença de proteção aprimorada

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=3&kid=12345678-1234-1234-1234-123456789012

Métodos HTTP herdados

Formato de solicitação POST

Aquisição de licença tradicional baseada em SOAP:

POST /pr/svc/rightsmanager.asmx HTTP/1.1
Host: playready.directtaps.net
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Body>
    <AcquireLicense xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
      <challenge>base64-encoded-challenge</challenge>
    </AcquireLicense>
  </soap:Body>
</soap:Envelope>

Formato de solicitação GET

Solicitações de licença simples baseadas em GET:

GET /pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012 HTTP/1.1
Host: playready.directtaps.net

Exemplos de integração de cliente

Implementação de JavaScript herdada

// Legacy URL construction
function buildLegacyLicenseUrl(keyId, playRight) {
    return `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=${playRight}&kid=${keyId}`;
}

// Basic license request
const licenseUrl = buildLegacyLicenseUrl(keyId, 1);

// Use with legacy PlayReady implementations

Implementação de C# herdada

// Legacy license request construction
public string BuildLegacyLicenseUrl(string keyId, int playRight)
{
    return $"https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight={playRight}&kid={keyId}";
}

// Usage
string licenseUrl = BuildLegacyLicenseUrl(keyId, 1);

Matriz de compatibilidade

Suporte à versão do PlayReady

Versão do PlayReady Suporte herdado Abordagem recomendada
1.0 - 1.3 Completo Sintaxe herdada
2.0 - 2.3 Completo Herdado ou Moderno
3.0+ Limitado Sintaxe moderna
4.0+ Deprecado Sintaxe moderna

Suporte à plataforma do cliente

Plataforma Suporte herdado Anotações
Herdado do Windows Completo Implementação original
Silverlight Completo Suporte à plataforma herdada
Windows 10+ Limitado APIs modernas preferenciais
Plataformas Móveis Varia Verificar a documentação da plataforma

Diretrizes de migração

Da sintaxe herdada

Ao migrar da sintaxe herdada para abordagens modernas:

Etapa 1: identificar o uso atual

// Current legacy usage
const legacyUrl = `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=${keyId}`;

Etapa 2: Mapear para o Equivalente Moderno

// Modern equivalent
const modernConfig = {
    licenseType: "persistent",
    keyId: keyId,
    policies: {
        playback: {
            allowOffline: true
        }
    }
};

Etapa 3: Atualizar aquisição de licença

// Modern license request
const licenseUrl = "https://playready.directtaps.net/pr/svc/rightsmanager.asmx";
// Include modern configuration in request body

Limitações da sintaxe herdada

Limitações funcionais

  • Controle de política limitado: somente permissões de reprodução básicas
  • Sem recursos avançados: recursos de DRM modernos ausentes
  • Proteção Simplificada: opções básicas de proteção de cópia
  • Sem suporte ao domínio: não há suporte para licenças associadas ao domínio

Considerações de segurança

  • Criptografia mais antiga: usa métodos de criptografia herdados
  • Validação limitada: validação de segurança reduzida
  • Problemas de compatibilidade: pode não funcionar com requisitos de segurança modernos

Testando implementações herdadas

Testes básicos de funcionalidade

// Test basic playback
testLegacyLicense(keyId, 1); // Should allow playback

// Test copy protection
testLegacyLicense(keyId, 2); // Should enable copy protection

// Test denial scenario
testLegacyLicense(keyId, 0); // Should deny playback

Teste de compatibilidade

  1. Teste de versão: testar com diferentes versões do PlayReady
  2. Teste de plataforma: verificar em plataformas com suporte
  3. Teste de recursos: os recursos disponíveis de validação funcionam corretamente
  4. Teste de migração: testar caminhos de atualização para a sintaxe moderna

Tratamento de erros

Erros de Legacy-Specific

  • PlayRight sem suporte: valor do parâmetro PlayRight inválido
  • Formato de chave herdado: formato de ID de chave sem suporte no modo herdado
  • Incompatibilidade de versão: versão do cliente incompatível com o servidor herdado

Formato de resposta de erro

As respostas de erro herdadas usam formato XML simplificado:

<?xml version="1.0" encoding="utf-8"?>
<Error>
    <Code>400</Code>
    <Message>Invalid PlayRight parameter</Message>
</Error>

Práticas recomendadas

Quando usar a sintaxe herdada

  1. Sistemas herdados: suporte a implementações mais antigas do PlayReady
  2. Compatibilidade com versões anteriores: mantendo a compatibilidade com clientes existentes
  3. Requisitos simples: reprodução básica sem recursos avançados
  4. Período de migração: durante a transição para implementações modernas

Para novas implementações, considere:

Aviso de substituição

Observação: o suporte à sintaxe herdada é mantido para compatibilidade com versões anteriores, mas foi preterido para novas implementações. Considere a migração para a sintaxe moderna para recursos e segurança aprimorados.

Suporte e solução de problemas

Para problemas com a sintaxe herdada:

  1. Verificar a compatibilidade de versão do PlayReady
  2. Verificar o formato e os valores dos parâmetros
  3. Testar com configurações simplificadas
  4. Considere a migração para a sintaxe moderna
  5. Examinar a documentação específica da plataforma

Para obter assistência de migração e alternativas modernas, consulte a documentação principal dos Servidores de Teste do PlayReady .