本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SPEKEAPIv1-對 DASH-IF 規範的自定義和約束
DASH如果CPIX規範,https://dashif.org/docs/ DASH-IF-CPIX-v2-0.pdf
-
SPEKE 遵循加密程式消費者工作流程。
-
對於加密的內容金鑰,會SPEKE套用下列限制:
-
SPEKE不支援要求或回應承載的數位簽章驗證 (XMLDSIG)。
-
SPEKE需要以 2048 RSA 為基礎的憑證。
-
-
若要旋轉關鍵工作流程,SPEKE需要
ContentKeyUsageRule
篩選、KeyPeriodFilter
。SPEKE會忽略所有其他ContentKeyUsageRule
設定。 -
SPEKE 省略
UpdateHistoryItemList
功能。如果列表存在於響應中,則SPEKE忽略它。 -
SPEKE支援按鍵旋轉。SPEKE僅使用 `ContentKeyPeriod@index 來追蹤金鑰期間。
-
若要支援 MSS PlayReady,請在
DRMSystem
標籤下SPEKE使用自訂參數SPEKE:ProtectionHeader
。 -
對於HLS封裝,如果回應中存在,則它必須包含要在HLS播放清單
EXT-X-KEY
標籤URI參數中加入的完整資料,而不需要進一步的信號。URIExtXKey
-
對於HLS播放清單,在
DRMSystem
標籤下,SPEKE提供選擇性的自訂參數speke:KeyFormatVersions
,speke:KeyFormat
並提供EXT-X-KEY
標籤KEYFORMAT
和KEYFORMATVERSIONS
參數的值。除非運算符明確指定,否則HLS初始化向量(IV)始終遵循段號。
-
當請求金鑰時,加密程式必須使用
ContentKey
元素上的可選@explicitIV
屬性。金鑰提供者可以使用@explicitIV
來回應 IV,即使該屬性未包含在請求中。 -
加密程式會建立金鑰識別符 (
KID
),無論任何指定的內容 ID 和金鑰期間都將提供相同識別符。金鑰提供者會在對請求文件的回應中包括KID
。 -
金鑰提供者可能會包含
Speke-User-Agent
回應標頭的值,以自我識別供偵錯之用。 -
SPEKE目前不支援每個內容的多個音軌或按鍵。
SPEKE符合標準的加密器充當客戶端,並將
POST
操作發送到密鑰提供者端點。加密程式可能會傳送定期的heartbeat
請求,以確保加密程式與金鑰提供者端點之間的連線情況良好。