Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os parâmetros são introduzidos na cadeia de consulta, separados por vírgulas e colchetes. Esta sintaxe foi introduzida em 2017 para suportar totalmente as funcionalidades do PlayReady 3:
- Semelhante a uma sintaxe JSON (mas não é JSON verdadeiro)
- Fácil de ler e editar
- Não inclui personagens inseguros (como o e ampersand) e não deveria exigir escapar de nenhum deles
- Nota: a cadeia de consulta não deve incluir quaisquer caracteres de espaço (' ')
- Nota: caracteres '+' são aceitáveis nos argumentos codificados base64
- Permite solicitar múltiplas licenças numa única licença e definir parâmetros para cada uma delas.
- Exemplo: pista de vídeo encriptada com uma chave definida em SL3000, e faixa de áudio encriptada com outra chave definida em SL2000.
- Novo formato de data-hora yyyymmdd (exemplo: 20171231) e permite horas, minutos e segundos definidos: yyymmdd[hhmmss] (exemplo: 20171231235959)
Nota: os parâmetros precisam de incluir persistir:true se quiser obter licenças persistentes.
Exemplos
| LAURL (https://test.playready.microsoft.com/service/) | Description |
|---|---|
rightsmanager.asmx |
Devolva uma licença não persistente com um direito PLAY e um Nível de Segurança de 150 para a criança encontrada no WRMHEADER, usando a Semente da Chave de Teste |
rightsmanager.asmx?cfg=(ckt:aescbc) |
NOVO NO PLAYREADY 4.0. Devolva uma licença não persistente com um direito PLAY para a criança encontrada no WRMHEADER, com um tipo de chave de conteúdo definido para encriptação AESCBC (em oposição a AESCTR) |
rightsmanager.asmx?cfg=(begindate:20170101,expiration:20170101010000) |
Devolva uma licença não persistente com direito PLAY para a criança encontrada no WRMHEADER, usando a Seed de Chave de Teste, com data de início a 1 de janeiro de 2017 às 0:00 e expiração fixa a 1 de janeiro de 2017 às 1:00 da manhã |
rightsmanager.asmx?cfg=(persist:true,begindate:20170101,expiration:20170201,firstexp:60) |
Devolva uma licença persistente com datas fixas de início e fim, e uma expiração relativa de 60 segundos após a primeira jogada. Nota: tem de indicar explicitamente persistir:true para receber licenças persistentes. |
rightsmanager.asmx?cfg=(kid:B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A,sl:3000),(kid:7C9484BA-C238-467A-869C-CDD8C7167712,sl:2000) |
Devolva duas licenças não persistentes com direitos PLAY, uma com Nível de Segurança de 3000 e outra com Nível de Segurança de 2000. Nota: estes dois KIDs devem corresponder aos KIDs do WRMHEADER |
Parâmetros
| Parâmetro | Meaning | Valores | Comentários, Exemplos, Valor Padrão |
|---|---|---|---|
| SL | Defina o Nível Mínimo de Segurança para uma licença | 150, 2000, 3000 | Exemplo: sl:3000 O valor padrão é 150. Nota: a tecla de vídeo pode estar definida para sl:3000, mas, em geral, os clientes só suportam que as teclas de áudio estejam definidas para o máximo sl:2000 |
| keyseed | Use a chave seed fornecida para gerar a chave de conteúdo nas licenças | Array de bytes base64 | Exemplo: keyseed:Wdkg2jsl3djgqSFer26XVBoVVRPzVEggUOSKSQaz O valor padrão é a Semente da Chave de Teste aqui fornecida |
| criança | Usado num grupo de propriedades para associar estas propriedades a um KID | 'cabeçalho', ou Guid em formato de registo ou string base64 | Exemplo 1: criança:cabeçalho Exemplo 2: criança: e13a7861-d8cc-4284-9245-7c835ebde9f0 Exemplo 3: kid:YXg64czYhEKSRXyDXr3p8A== No caso do kid:header, o servidor de licenças usa o KID encontrado no WRMHEADER que acompanha o pedido de licença. Neste caso, o WRMHEADER tem de incluir apenas um KID |
| contentkey | Definir a chave de conteúdo | Array de bytes base64 | Exemplo: contentkey:eNqVnXrElmo2NSsn7IXeEA== O valor padrão é key(TestKeySeed, miúdo) |
| CKT | Especifica o Tipo de Encriptação da Chave de Conteúdo (CTR ou CBC) | aesctr, aescbc | Exemplo: ckt:aescbc O valor padrão é aesctr A licença incluirá um conjunto de chaves de conteúdo para encriptação AESCBC NOVIDADE NO PLAYREADY 4.0 |
| TID | Defina um TransactionId na resposta à licença | guid (arbitrário) | Exemplo: tid:3033E8F0-FB1B-4170-AD5C-60549AAB2C79 Adiciona o valor fornecido à propriedade LicenseResponse.TransactionId, que exigirá que o cliente publique um desafio de reconhecimento de licença usando o identificador de transação especificado de volta ao servidor de licenças |
| Playright | Adicionar uma Jogada à Direita | falso, verdadeiro | Exemplo: playright:true O valor padrão é true Nota: uma licença devolvida sem direito não permitirá ao cliente consumir o conteúdo |
| readright | Adicionar uma leitura à direita | falso, verdadeiro | Exemplo: readright:true O valor padrão é false |
| direito executor | Adicionar um Executar à Direita | falso, verdadeiro | Exemplo: executeright:true O valor padrão é false |
| direito estendido | Adicionar um Direito Estendido | Inteiro. Veja o exemplo | Exemplo: (extendedright:(type:500,extended:((type:400, must understand:true,besteffort:false,data:Ah==))) |
| persistir | Defina a licença como persistente ou não | falso, verdadeiro | Exemplo: persistir:true O valor predefinido é falso. Se a licença estiver definida como não persistente, é armazenada no cliente apenas na RAM, no contexto do leitor multimédia. |
| simple | Use uma licença SimpleNonPersistentLicense | falso, verdadeiro | Exemplo: simples:verdadeiro O valor predefinido é falso. Utiliza uma classe específica SimpleNonPersistentLicense para emitir a resposta de licença. Esta classe era suportada em versões mais antigas do Silverlight. |
| Data de início | Defina uma data e hora antes da qual a licença é desativada | yyymmdd[hhmmss] (GMT) | Exemplo: data de início: 20170101 A licença não permitirá a reprodução antes de 1 de janeiro de 2017, 00:00:00 GMT |
| Data de término ou expiração | Defina uma Data e Hora após as quais a licença fica desativada | yyymmdd[hhmmss] (GMT) | Exemplo 1: data de término: 20170131 Exemplo 2: data de término:20170131235959 - A licença não permite a reprodução após 31 de janeiro de 2017 23:59:59 GMT |
| firstplayexpiration ou firstexp | Defina uma expiração relativa após a primeira jogada | segundos em inteiro | Exemplo: firstexp:60 A licença não permite iniciar uma reprodução exatamente 60 segundos após a primeira reprodução ter sido iniciada com essa mesma licença. |
| Tempo real | Adicionar uma restrição de validade em tempo real | falso, verdadeiro | Exemplo: tempo real:verdadeiro O valor padrão é false Se esta propriedade estiver definida, o cliente exige que o cliente faça cumprir expirações durante uma sessão de reprodução em tempo real. Nota: isto é suportado apenas por clientes PlayReady 3 |
| Data de remoção | Defina uma data em que a licença pode ser eliminada no cliente (GMT) | yyymmdd[hhmmss] | Exemplo: data de remoção:20170228 Note que é opcional para os clientes remover licenças com base nesta propriedade. No entanto, o Windows executa este processo de remoção em cada aquisição de licença. Consulte a documentação do Server SDK para restrições adicionais na definição desta propriedade. |
| Isroot | Exige que a licença solicitada seja uma licença raiz com o KID raiz definido | falso, verdadeiro | Exemplo: cfg=(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638) |
| rootid | Defina o KID raiz para uma licença leaf | Identificador Globalmente Único (GUID) | Exemplo: cfg=(rootid:3C6F3C13-6207-4916-867C-8252B3993638,kid:header),(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638) |
| sourceid | Definir a restrição SourceID ou ID de Fonte Restrito | Int | Exemplo: sourceid:267 Verifique os valores permitidos na secção 6.12 dos CRs |
| CAOPL | Definir uma restrição de nível de proteção para saída de áudio digital comprimido | número inteiro | Exemplo: caopl:200 O valor padrão é 0 Normalmente, para exigir drivers de áudio seguros para áudio comprimido. Verifique os valores permitidos nas secções 6.7 e 3.6.2 dos CRs Código do SDK do servidor: right.CompressedDigitalAudioOPL = 200; |
| UCAOPL | Defina uma restrição de Nível de Proteção de Saída de Áudio Digital Não Comprimido | número inteiro | Exemplo: ucaopl:300 O valor padrão é 0 Normalmente, para exigir HDCP ou DTCP para áudio não comprimido. Verifique os valores permitidos nas secções 6.7 e 3.6.3 dos CRs Código do SDK do servidor: right.UncompressedDigitalAudioOPL = 300; |
| CVOPL | Definir uma restrição de Nível de Proteção de Saída de Vídeo Digital Comprimido | número inteiro | Exemplo: cvopl:500 Todos os valores permitidos têm o mesmo significado: um Produto PlayReady não pode passar a parte de vídeo do Conteúdo comprimido e desencriptado para qualquer saída de vídeo. Verifique os valores permitidos nas secções 6.7 e 3.6.4 dos CRs Código do SDK do servidor: right.CompressedDigitalVideoOPL = 500; |
| UCVOPL | Definir uma restrição de Nível de Proteção de Saída de Vídeo Digital Não Comprimido | número inteiro | Exemplo: ucvopl:300 O valor padrão é 0 Normalmente para exigir HDCP em HDMI para vídeo não comprimido. Verifique os valores permitidos nas secções 6.7 e 3.6.5 dos CRs Código do SDK do servidor: right.UncompressedDigitalVideoOPL = 300; |
| AVOPL | Definir uma restrição de Nível de Proteção de Saída de Vídeo Analógico | número inteiro | Exemplo: avopl:200 para exigir CGMS-A cópia nunca Verifique os valores permitidos nas secções 6.7 e 3.6.6 dos CRs Código do SDK do servidor: right.AnalogVideoOPL = 200; |
| dvop | Adicione uma proteção explícita contra saída de vídeo digital | GUID e dados opcionais codificados na string base 64 | Exemplo: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==) para exigir o Tipo HDCP 1. Ver a secção CRs 3.6.5.7. Código do SDK do servidor: right.AddDigitalVideoOutputProtection(new Guid("", 1)) |
| daop | Adicionar uma proteção explícita de saída de áudio digital | GUID e dados opcionais codificados na string base 64 | Exemplo: daop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6,data:AAAAAQ==) para exigir SCMS. Ver a secção CRs 3.6.3.8. Código do SDK do servidor: right.AddDigitalAudioOutputProtection(new Guid("{6D5CFA59-C250-4426-930E-FAC72C8FCFA6}", 1)) |
| AVOP | Adicionar uma Proteção Explícita de Saída de Vídeo Analógico | GUID e dados codificados em string base 64 | Exemplo: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==) para Verifique os valores permitidos na secção 6.5 dos CRs. Código do SDK do servidor: right.AddAnalogVideoOutputProtection(new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}", 1) |
| restrições estendidas | Adicione uma ou várias Restrições Estendidas à direita | inteiro e propriedades, ver exemplo | Exemplo: (extensedrestrictions:((type:400, must understand:true,besteffort:false,data:Ah==),(type:401, mustunderstand:true,besteffort:false,data:Ah==))) Pressupõe-se aplicável ao direito de jogar se não houver outro direito estabelecido. |
| Playenablers | Adicionar um ou vários Play Enablers à licença | Guid ou Grupo de Guids | Exemplo 1: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7) (permitir Saídas Desconhecidas). Exemplo 2: playenables:(786627D8-C2A6-44BE-8F88-08AE255B01A7,5ABF0F0D-DC29-4B82-9982-FD8E57525BFC) (permitir Saídas Desconhecidas e AirPlay). Veja os CRs para todos os Play Enablers. |
| Os parâmetros abaixo são abreviações para certas combinações de restrições e facilitadores de jogo descritas acima | |||
| explicitacp | Defina um controlo automático de ganho e uma restrição de faixas de cor para vídeo analógico | inteiro 0,1,2,3 | Exemplo: explicitacp:2 Equivalente a: avop(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==) Ver as secções CRs 6.5.1 e 3.6.7.2. Código do SDK do servidor: right.AddAnalogVideoOutputProtection(new ExplicitOutputProtection(new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"), HeightBytes.Concat(WidthBytes).ToArray())) |
| maxres | Defina uma restrição de tamanho de descodificação de resolução efetiva máxima | inteiro x inteiro | Exemplo: maxres: 1920x1080 Equivalente a: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=) Ver as secções CRs 6.5 e 3.6.5.7.1. Código do SDK do servidor: right.AddDigitalVideoOutputProtection(new ExplicitOutputProtection(new Guid("9645E831-E01D-4FFF-8342-0A720E3E028F"), BitConverter.GetBytes((int)value)) |
| allowunknownsd | Adicionar um Controlo de Saída para Saída Desconhecida para resolução restrita | falso, verdadeiro | Exemplo: alallow unknownsd:true Equivalente a: playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9) Ver a secção CRs 3.9.2. Código do SDK do servidor: right.AddPlayEnabler(new PlayEnabler(new Guid("B621D91F-EDCC-4035-8D4B-DC71760D43E9"))) |
| allowunknownhd | Adicionar um controlo de saída para saída desconhecida para qualquer resolução | falso, verdadeiro | Exemplo: allowunknownhd:true Equivalente a: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7) Ver a secção CRs 3.9.1. Código do SDK do servidor: right.AddPlayEnabler(new PlayEnabler(new Guid("786627D8-C2A6-44BE-8F88-08AE255B01A7"))) |
| CustomerInfo | Recurso especial de reflexão. Consulte esta página para mais detalhes. |