

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

# SPEKE API v1 - Personalizzazioni e vincoli alla specifica DASH-IF
<a name="speke-constraints"></a>

La specifica DASH-IF CPIX, https://dashif. org/docs/DASH-IF-CPIX-v2-0.pdf, supporta una serie di casi d'uso e topologie. La specifica dell'API SPEKE aderisce alla specifica CPIX con le seguenti personalizzazioni e vincoli:
+ SPEKE segue il flusso di lavoro di Encryptor Consumer.
+ Per le chiavi di contenuto crittografate, SPEKE applica le seguenti restrizioni:
  + SPEKE non supporta la verifica della firma digitale (XMLDSIG) per i payload di richiesta o risposta.
  + SPEKE richiede 2048 certificati basati su RSA.
+ Per i flussi di lavoro a chiave rotante, SPEKE richiede il filtro,. `ContentKeyUsageRule` `KeyPeriodFilter` SPEKE ignora tutte le altre impostazioni. `ContentKeyUsageRule`
+ SPEKE omette la funzionalità. `UpdateHistoryItemList` Se l'elenco è presente nella risposta, SPEKE lo ignora.
+ SPEKE supporta la rotazione dei tasti. SPEKE utilizza solo `ContentKeyPeriod@index per tenere traccia del periodo chiave.
+ Per supportare MSS PlayReady, SPEKE utilizza un parametro personalizzato sotto il `DRMSystem` tag,. `SPEKE:ProtectionHeader`
+ Per la pacchettizzazione HLS, se `URIExtXKey` è presente nella risposta, deve contenere i dati completi da aggiungere nel parametro URI del tag `EXT-X-KEY` di una playlist HLS, senza ulteriore segnalazione richiesta.
+ Per la playlist HLS, sotto il `DRMSystem` tag, SPEKE fornisce i parametri personalizzati opzionali `speke:KeyFormat` e`speke:KeyFormatVersions`, per i valori del tag `KEYFORMAT` e, i `KEYFORMATVERSIONS` parametri. `EXT-X-KEY`

  Il vettore di inizializzazione (IV) HLS segue sempre il numero del segmento, a meno che non sia specificato in modo esplicito dall'operatore.
+ Al momento di richiedere le chiavi, il componente di crittografia potrebbe utilizzare l'attributo facoltativo `@explicitIV` dell'elemento `ContentKey`. Il provider di chiavi è in grado di rispondere con un IV utilizzando `@explicitIV`, anche se l'attributo non è incluso nella richiesta.
+ Il componente di crittografia crea l'identificatore chiave (`KID`), che rimane uguale per un determinato periodo di chiavi e ID di contenuti. Il provider di chiavi include `KID` nella risposta al documento di richiesta.
+ Il provider di chiavi potrebbe includere un valore per l'intestazione della risposta `Speke-User-Agent` per identificarsi per il debug.
+ Al momento SPEKE non supporta più tracce o chiavi per contenuto.

  Il criptatore conforme a SPEKE funge da client e invia le operazioni all'endpoint del provider di chiavi. `POST` Il componente di crittografia potrebbe inviare una richiesta `heartbeat` periodica per assicurarsi che la connessione tra il componente di crittografia e l'endpoint del provider di chiavi sia funzionando correttamente.