

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Il s'agit de l'API REST pour le Secure Packager and Encoder Key Exchange (SPEKE) v2. Utilisez cette spécification pour fournir une protection des droits d'auteur DRM aux clients qui utilisent le chiffrement. Pour être compatible avec Speke, votre fournisseur de clés DRM doit exposer l'API REST décrite dans cette spécification. Le chiffreur effectue des appels d'API vers votre fournisseur de clés.

**Note**  
Les exemples de code présentés dans cette spécification sont fournis à des fins d'illustration uniquement. Vous ne pouvez pas exécuter les exemples, car ils ne font pas partie d'une implémentation SPEKE complète.

SPEKE utilise la définition de structure de données du format DASH Industry Forum Content Protection Information Exchange Format (DASH-IF-CPIX) pour l'échange de clés, avec certaines restrictions. DASH-IF-CPIXdéfinit un schéma pour fournir un échange multiDRM extensible entre la plate-forme DRM et le crypteur. Ainsi, le chiffrement de contenu est possible pour tous les formats d'emballage en vitesse de transmission adaptative au moment de la compression et de l'emballage du contenu. Les formats d'emballage en vitesse de transmission adaptative sont les suivants : HLS, DASH et MSS.

À partir de sa version 2.0, SPEKE est aligné sur une version CPIX spécifique :

Du côté SPEKE, cela est appliqué par l'utilisation de l'en-tête `X-Speke-Version` HTTP, et du côté CPIX par l'utilisation de l'attribut. `CPIX@version` L'absence de ces éléments dans les demandes est typique des anciens flux de travail SPEKE v1. Dans les flux de travail SPEKE v2, le fournisseur principal est censé traiter les documents CPIX uniquement s'il prend en charge les deux paramètres de version.

Pour des informations détaillées sur le format d'échange, consultez la spécification [CPIX 2.3](https://dashif.org/docs/CPIX2.3/Cpix.html) du DASH Industry Forum.

Dans l'ensemble, SPEKE v2.0 apporte les évolutions suivantes par rapport à SPEKE v1.0 :
+ Toutes les balises de l'espace de noms XML SPEKE sont déconseillées au profit de balises équivalentes dans l'espace de noms XML CPIX
+  `SPEKE:ProtectionHeader`est obsolète et remplacé par `CPIX:DRMSystem.SmoothStreamingProtectionHeaderData` 
+  `CPIX:URIExtXKey`, `SPEKE:KeyFormat` et `SPEKE:KeyFormatVersions` sont obsolètes et remplacés par `CPIX:DRMSystem.HLSSignalingData` 
+  `CPIX@id`est remplacé par `CPIX@contentId` 
+ Nouveaux attributs CPIX obligatoires :, `CPIX@version` `ContentKey@commonEncryptionScheme` 
+ Nouvel élément CPIX optionnel : `DRMSystem.ContentProtectionData` 
+ Support pour plusieurs clés de contenu
+ Mécanisme de versionnement croisé entre SPEKE et CPIX
+ Évolution des en-têtes HTTP : nouvel `X-Speke-Version` en-tête, `Speke-User-Agent` en-tête renommé en `X-Speke-User-Agent` 
+ Obsolète de l'API Heartbeat

Comme la spécification SPEKE v1.0 reste inchangée, il n'est pas nécessaire de modifier les implémentations existantes pour continuer à prendre en charge les flux de travail SPEKE v1.0.

**Topics**
+ [SPEKE API v2 - Personnalisations et contraintes liées à la spécification DASH-IF](speke-constraints-v2.md)
+ [SPEKE API v2 - Composants de charge utile standard](standard-payload-components-v2.md)
+ [SPEKE API v2 - Contrat de chiffrement](encryption-contract-v2.md)
+ [SPEKE API v2 - Exemples d'appels de méthodes de flux de travail en direct](live-workflow-methods-v2.md)
+ [SPEKE API v2 - Exemples d'appels à une méthode de flux de travail VOD](vod-workflow-method-v2.md)
+ [SPEKE API v2 - Chiffrement des clés de contenu](content-key-encryption-v2.md)
+ [SPEKE API v2 - Remplacer l'identifiant de clé](kid-override-v2.md)