As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
SPEKEAPIv2 - Personalizações e restrições à especificação -IF DASH
A especificação DASH Industry Forum CPIX 2.3
CPIXPerfil
-
O SPEKE segue o fluxo de trabalho de criptografador e consumidor.
-
Para chaves de conteúdo criptografadas, SPEKE aplicam-se as seguintes restrições:
-
SPEKEnão oferece suporte à verificação de assinatura digital (XMLDSIG) para cargas úteis de solicitação ou resposta.
-
SPEKErequer certificados RSA baseados em 2048.
-
-
SPEKEaproveita somente um subconjunto de CPIX funcionalidades:
-
O SPEKE omite a funcionalidade
UpdateHistoryItemList
. Se a lista estiver presente na resposta, ela será SPEKE ignorada. -
SPEKEomite a funcionalidade da chave raiz/folha. Se o
ContentKey@dependsOnKey
atributo estiver presente na resposta, ele será SPEKE ignorado. -
SPEKEomite o
BitrateFilter
elemento e oVideoFilter@wcg
atributo. Se esses elementos ou atributos estiverem presentes na CPIX carga, ela será SPEKE ignorada.
-
-
Somente os elementos ou atributos referenciados como “Suportados” na página Componentes de Carga Útil Padrão ou na página do contrato de criptografia podem ser usados em CPIX documentos trocados com a v2. SPEKE
-
Quando incluídos em uma CPIX solicitação do criptografador, todos os elementos e atributos devem ter um valor válido na CPIX resposta do provedor de chaves. Caso contrário, o criptografador deve parar e gerar um erro.
-
SPEKEsuporta a rotação de chaves com
KeyPeriodFilter
elementos. SPEKEusa somente oContentKeyPeriod@index
para rastrear o período chave. -
Para HLS sinalização, vários
DRMSystem.HLSSignalingData
elementos devem ser usados: um com um valor deDRMSystem.HLSSignalingData@playlist
atributo de 'media' e outro com um valor deDRMSystem.HLSSignalingData@playlist
atributo de 'master'. -
Ao solicitar chaves, o criptografador pode usar o atributo opcional
@explicitIV
no elementoContentKey
. O provedor de chaves pode responder com um IV usando@explicitIV
, mesmo se o atributo não estiver incluído na solicitação. -
O criptografador cria o identificador de chaves (
KID
), que permanece o mesmo para qualquer período de chave e ID de conteúdo. O provedor de chaves inclui o servidorKID
na resposta ao documento da solicitação. -
O criptografador deve incluir um valor para o atributo
CPIX@contentId
. Ao receber um valor vazio para esse atributo, o provedor da chave retornará um erro com a descrição 'Missing CPIX @ contentId '.CPIX@contentId
o valor não pode ser substituído pelo provedor da chave.O valor
CPIX@id
, se não for nulo, deve ser ignorado pelo provedor da chave. -
O criptografador deve incluir um valor para o atributo
CPIX@version
. Ao receber um valor vazio para esse atributo, o provedor da chave retornará um erro com a descrição 'Missing CPIX @version '. Ao receber uma solicitação com uma versão não suportada, a descrição do erro retornada pelo provedor da chave deve ser 'Unsupported CPIX @version '.O valor
CPIX@version
não pode ser substituído pelo provedor da chave. -
O criptografador deve incluir um valor para o atributo
ContentKey@commonEncryptionScheme
para cada chave solicitada. Ao receber um valor vazio para esse atributo, o provedor da chave retornará um erro com a descrição “Missing ContentKey @ commonEncryptionScheme for KIDid
”.Um CPIX documento exclusivo não pode misturar vários valores para
ContentKey@commonEncryptionScheme
atributos diferentes. Ao receber essa combinação, o provedor da chave deve retornar um erro com a descrição “Não compatível ContentKey @ commonEncryptionScheme combinação”.Nem todos os
ContentKey@commonEncryptionScheme
valores são compatíveis com todas as DRM tecnologias. Ao receber essa combinação, o provedor da chave retornará um erro com a descrição 'ContentKey@ commonEncryptionScheme não compatível com DRMSystemid
'.O valor
ContentKey@commonEncryptionScheme
não pode ser substituído pelo provedor da chave. -
Ao receber valores diferentes para
DRMSystem@PSSH
XML<pssh>
um elementoDRMSystem.ContentProtectionData
interno no corpo da CPIX resposta, o criptografador deve parar e gerar um erro.
API para CPIX
-
O provedor da chave deve incluir um valor para o cabeçalho da
X-Speke-User-Agent
HTTP resposta. -
Um SPEKE criptografador compatível atua como um cliente e envia as POST operações para o terminal do provedor principal.
-
O criptografador deve incluir um valor para o cabeçalho da
X-Speke-Version
HTTP solicitação, com a SPEKE versão usada com a solicitação, formulada como. MajorVersion MinorVersion, como '2.0' para SPEKE v2.0. Se o provedor da chave não suportar a SPEKE versão usada pelo criptografador para a solicitação atual, o provedor da chave retornará um erro com a descrição “SPEKEVersão não suportada” e não tentará processar o CPIX documento da melhor maneira possível.O valor do cabeçalho
X-Speke-Version
definido pelo criptografador não pode ser modificado pelo provedor da chave na resposta à solicitação. -
Ao receber erros no corpo da resposta, o criptografador deve gerar um erro e não repetir a solicitação com um controle de versão SPEKE v1.0.
Se o provedor da chave não retornar um erro, mas não retornar um CPIX documento que inclua as informações obrigatórias, o criptografador deverá parar e gerar um erro.
A tabela a seguir resume as mensagens padrão que devem ser retornadas pelo provedor da chave no corpo da mensagem. O código de HTTP resposta em casos de erro deve ser 4XX ou 5XX, nunca 200. O código de erro 422 pode ser usado para todos os erros relacionados aSPEKE/CPIX.
Caso de erro | Mensagem de erro |
---|---|
CPIX@ não contentId está definido |
Falta CPIX @ contentId |
CPIX@version não está definido |
Falta CPIX @version |
CPIX@version não é suportado |
@version não suportado CPIX |
ContentKey@ não commonEncryptionScheme está definido |
Falta ContentKey @ commonEncryptionScheme para KID |
Vários commonEncryptionScheme valores ContentKey @ usados em um único CPIX documento |
Combinação ContentKey @ commonEncryptionScheme não compatível |
ContentKey@ não commonEncryptionScheme é compatível com a DRM tecnologia |
ContentKey@ commonEncryptionScheme não compatível com DRMSystem |
O valor do cabeçalho X-Speke-Version não é uma versão compatível SPEKE |
Versão SPEKE sem suporte |
O contrato de criptografia está malformado |
Contrato de criptografia malformado |
O contrato de criptografia contradiz as restrições dos níveis DRM de segurança |
O contrato CPIX de criptografia solicitado não é suportado |
O contrato de criptografia não inclui VideoFilter nenhum AudioFilter elemento |
Contrato CPIX de criptografia ausente |