Partilhar via


Sintaxe herdada para PlayReady Test Server

Visão geral

O PlayReady Test Server mantém o suporte para sintaxe herdada para garantir compatibilidade com implementações PlayReady mais antigas e aplicativos cliente existentes. Essa abordagem herdada usa formatos de parâmetros simplificados e métodos HTTP tradicionais que têm sido suportados 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 suportados

Parâmetro PlayRight

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

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

Parâmetro ID da chave (kid)

O formato herdado suporta a especificação simplificada de ID de chave:

  • 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 Avançada

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 clientes

Implementação de JavaScript herdado

// 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# legado

// 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 PlayReady

Versão PlayReady Suporte legado Abordagem recomendada
1.0 - 1.3 Completo Sintaxe herdada
2.0 - 2.3 Completo Legado ou Moderno
3.0+ Limitado Sintaxe moderna
4.0+ Preterido Sintaxe moderna

Suporte à plataforma do cliente

Plataforma Suporte legado Observações
Legado do Windows Completo Aplicação original
Luz de prata Completo Suporte a plataformas legadas
Janelas 10+ Limitado APIs modernas preferidas
Plataformas Móveis Varia Consulte a documentação da plataforma

Orientações em matéria 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 a 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 básicas de reprodução
  • Sem recursos avançados: faltam recursos modernos de DRM
  • Proteção simplificada: opções básicas de proteção contra cópia
  • Sem suporte a domínio: licenças vinculadas a domínio não suportadas

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 os requisitos de segurança modernos

Testando implementações herdadas

Testes de funcionalidade básica

// 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

Testes de compatibilidade

  1. Teste de versão: teste com diferentes versões do PlayReady
  2. Teste de plataforma: verifique em plataformas suportadas
  3. Teste de recursos: validar o funcionamento correto dos recursos disponíveis
  4. Teste de migração: teste caminhos de atualização para sintaxe moderna

Tratamento de erros

Legacy-Specific Erros

  • PlayRight não suportado: valor do parâmetro PlayRight inválido
  • Formato de chave herdado: formato de ID de chave não suportado 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 o formato XML simplificado:

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

Melhores práticas

Quando usar a sintaxe herdada

  1. Sistemas legados: Suportando 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 descontinuação

Nota: O suporte à sintaxe herdada é mantido para compatibilidade com versões anteriores, mas é preterido para novas implementações. Considere migrar para a sintaxe moderna para obter recursos e segurança aprimorados.

Suporte e solução de problemas

Para problemas com sintaxe herdada:

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

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