

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Questa è l'API REST per Secure Packager and Encoder Key Exchange (SPEKE) v2. Usa questa specifica per garantire la protezione del copyright DRM per i clienti che utilizzano la crittografia. Per essere conforme a SPEKE, il provider di chiavi DRM deve esporre l'API REST descritta in questa specifica. Il componente di crittografia effettua le chiamate API al provider di chiavi.

**Nota**  
Il codice di esempio in questa specifica è soltanto indicativo. Non è possibile eseguire gli esempi perché non sono parte di un'implementazione SPEKE completa.

SPEKE utilizza la definizione della struttura dei dati del DASH Industry Forum Content Protection Information Exchange Format (DASH-IF-CPIX) per lo scambio di chiavi, con alcune restrizioni. DASH-IF-CPIXdefinisce uno schema per fornire uno scambio multiDRM estensibile dalla piattaforma DRM all'encryptor. In questo modo viene abilitata la crittografia dei contenuti per tutti i formati di pacchetti con frequenza di bit adattiva al momento della compressione e della pacchettizzazione dei contenuti. I formati di pacchettizzazione con frequenza di bit adattiva includono HLS, DASH e MSS.

A partire dalla versione 2.0, SPEKE è allineato a una versione CPIX specifica:

Sul lato SPEKE, questo viene applicato tramite l'uso dell'intestazione `X-Speke-Version` HTTP e sul lato CPIX tramite l'uso dell'attributo. `CPIX@version` La mancanza di questi elementi nelle richieste è tipica dei flussi di lavoro precedenti di SPEKE v1. Nei flussi di lavoro SPEKE v2, ci si aspetta che il provider chiave elabori i documenti CPIX solo se supporta entrambi i parametri di versione.

[Per informazioni dettagliate sul formato di scambio, consulta la specifica CPIX 2.3 del DASH Industry Forum.](https://dashif.org/docs/CPIX2.3/Cpix.html)

Nel complesso, SPEKE v2.0 apporta le seguenti evoluzioni rispetto a SPEKE v1.0:
+ Tutti i tag dello spazio dei nomi XML SPEKE sono obsoleti a favore dei tag equivalenti nello spazio dei nomi XML CPIX
+  `SPEKE:ProtectionHeader`è obsoleto e sostituito da `CPIX:DRMSystem.SmoothStreamingProtectionHeaderData` 
+  `CPIX:URIExtXKey`, `SPEKE:KeyFormat` e `SPEKE:KeyFormatVersions` sono obsoleti e sostituiti da `CPIX:DRMSystem.HLSSignalingData` 
+  `CPIX@id`è sostituito da `CPIX@contentId` 
+ Nuovi attributi CPIX obbligatori:, `CPIX@version` `ContentKey@commonEncryptionScheme` 
+ Nuovo elemento CPIX opzionale: `DRMSystem.ContentProtectionData` 
+ Support per più chiavi di contenuto
+ Meccanismo di controllo incrociato tra SPEKE e CPIX
+ Evoluzione delle intestazioni HTTP: nuova intestazione, intestazione rinominata in `X-Speke-Version` `Speke-User-Agent` `X-Speke-User-Agent` 
+ Deprecazione dell'API Heartbeat

Poiché la specifica SPEKE v1.0 rimane invariata, non è necessario modificare le implementazioni esistenti per continuare a supportare i flussi di lavoro SPEKE v1.0.

**Topics**
+ [SPEKE API v2 - Personalizzazioni e vincoli alla specifica DASH-IF](speke-constraints-v2.md)
+ [SPEKE API v2 - Componenti di payload standard](standard-payload-components-v2.md)
+ [SPEKE API v2 - Contratto di crittografia](encryption-contract-v2.md)
+ [SPEKE API v2 - Esempi di chiamate al metodo Live Workflow](live-workflow-methods-v2.md)
+ [SPEKE API v2 - Esempi di chiamate al metodo di lavoro VOD](vod-workflow-method-v2.md)
+ [SPEKE API v2 - Crittografia delle chiavi del contenuto](content-key-encryption-v2.md)
+ [SPEKE API v2 - Sovrascrivere l'identificatore chiave](kid-override-v2.md)