

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á.

# API SPEKE v2
<a name="the-speke-api-v2"></a>

Essa é a API REST para Secure Packager and Encoder Key Exchange (SPEKE) v2. Use esta especificação para fornecer a proteção de direitos autorais de DRM aos clientes que usam criptografia. Para estar em conformidade com o SPEKE, seu provedor de chaves de DRM deve expor a API REST descrita nesta especificação. O criptografador faz chamadas de API ao seu provedor de chaves.

**nota**  
Os exemplos de código nesta especificação são apenas para fins de ilustração. Você não pode executar os exemplos porque eles não fazem parte de uma implementação completa do SPEKE.

O SPEKE usa a definição de estrutura de dados do DASH Industry Forum Content Protection Information Exchange Format (DASH-IF-CPIX) para troca de chaves, com algumas restrições. DASH-IF-CPIXdefine um esquema para fornecer uma troca extensível de vários DRM da plataforma DRM para o criptografador. Isso permite a criptografia de conteúdo para todos os formatos adaptáveis de empacotamento de taxa de bits no momento da compactação de conteúdo e empacotamento. Os formatos adaptáveis de empacotamento de taxa de bits incluem HLS, DASH e MSS.

A partir da versão 2.0, o SPEKE está alinhado a uma versão específica do CPIX:

No lado do SPEKE, isso é imposto por meio do uso do `X-Speke-Version` cabeçalho HTTP e, no lado do CPIX, pelo uso do atributo `CPIX@version`. A falta desses elementos nas solicitações é típica dos fluxos de trabalho legados do SPEKE v1. Nos fluxos de trabalho do SPEKE v2, espera-se que o provedor de chaves processe documentos CPIX somente se ele suportar os dois parâmetros da versão.

Para obter informações detalhadas sobre o formato de troca, consulte a [especificação CPIX 2.3](https://dashif.org/docs/CPIX2.3/Cpix.html) do DASH Industry Forum.

No geral, o SPEKE v2 traz as seguintes evoluções em comparação com o SPEKE v1:
+ Todas as tags do namespace SPEKE XML estão obsoletas em favor das tags equivalentes no namespace CPIX XML
+  `SPEKE:ProtectionHeader` está obsoleto e foi substituído por `CPIX:DRMSystem.SmoothStreamingProtectionHeaderData` 
+  `CPIX:URIExtXKey`, `SPEKE:KeyFormat` e `SPEKE:KeyFormatVersions` estão obsoletos e foram substituídos por `CPIX:DRMSystem.HLSSignalingData` 
+  `CPIX@id` é substituído por `CPIX@contentId` 
+ Novos atributos obrigatórios do CPIX: `CPIX@version`, `ContentKey@commonEncryptionScheme` 
+ Novo elemento CPIX opcional: `DRMSystem.ContentProtectionData` 
+ Suporte para várias chaves de conteúdo
+ Mecanismo de versionamento cruzado entre SPEKE e CPIX
+ Evolução dos cabeçalhos HTTP: novo cabeçalho `X-Speke-Version`, cabeçalho `Speke-User-Agent` renomeado para `X-Speke-User-Agent` 
+ Defasagem da API Heartbeat

Como a especificação SPEKE v1 permanece inalterada, as implementações existentes não precisam mudar para continuar oferecendo suporte aos fluxos de trabalho do SPEKE v1.

**Topics**
+ [API SPEKE v2: Personalizações e restrições para a especificação do DASH-IF](speke-constraints-v2.md)
+ [API SPEKE v2: Componentes de carga útil padrão](standard-payload-components-v2.md)
+ [API SPEKE v2: Contrato de criptografia](encryption-contract-v2.md)
+ [API SPEKE v2: Exemplos de chamadas de método de fluxo de trabalho em tempo real](live-workflow-methods-v2.md)
+ [API SPEKE v2: Exemplos de chamadas de método de fluxo de trabalho de VOD](vod-workflow-method-v2.md)
+ [API SPEKE v2: Criptografia de chave de conteúdo](content-key-encryption-v2.md)
+ [SPEKE API v2: Substituindo o identificador de chave](kid-override-v2.md)