斯佩克 API V1-自定義和約束達世紀 IF 規範 - Secure Packager 和 Encoder Key Exchange API 規格

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

斯佩克 API V1-自定義和約束達世紀 IF 規範

DASH-如果 CPIX 規格 https://dashif.org/docs/DASH-IF-CPIX-v2-0.pdf,支援許多使用案例和拓撲。SPEKE API 規格遵循 CPIX 規格,並具有下列自訂和條件約束:

  • SPEKE 遵循加密器取用者工作流程。

  • 對於加密的內容金鑰,SPEKE 會套用下列限制:

    • SPEKE 不支援要求或回應承載的數位簽章驗證 (XMLDSIG)。

    • 斯佩克需要 2048 個以 RSA 為基礎的憑證。

  • 若要旋轉關鍵工作流程,SPEKE 需要ContentKeyUsageRule篩選器、KeyPeriodFilter. SPEKE 會忽略所有其他ContentKeyUsageRule設定。

  • SPEKE 會忽略此功能。UpdateHistoryItemList如果回應中存在清單,SPEKE 會忽略該清單。

  • 斯佩克支持密鑰旋轉。SPEKE 僅使用 `ContentKeyPeriod@index 來追蹤金鑰期間。

  • 若要支援 MSS PlayReady,SPEKE 會在DRMSystem標籤下使用自訂參數。SPEKE:ProtectionHeader

  • 對於 HLS 封裝,如果 URIExtXKey 出現在回應中,則其必須包含要新增到 HLS 播放清單 EXT-X-KEY 標籤 URI 參數中的完整資料,而無需進一步訊號要求。

  • 對於 HLS 播放清單,在DRMSystem標籤下,SPEKE 提供了選擇性的自訂參數speke:KeyFormatVersions,以speke:KeyFormat及標籤KEYFORMATKEYFORMATVERSIONS參數的EXT-X-KEY值。

    除非操作者明確指定,否則 HLS 初始向量 (IV) 會一律遵循區段號碼。

  • 當請求金鑰時,加密程式必須使用 ContentKey 元素上的可選 @explicitIV 屬性。金鑰提供者可以使用 @explicitIV 來回應 IV,即使該屬性未包含在請求中。

  • 加密程式會建立金鑰識別符 (KID),無論任何指定的內容 ID 和金鑰期間都將提供相同識別符。金鑰提供者會在對請求文件的回應中包括 KID

  • 金鑰提供者可能會包含 Speke-User-Agent 回應標頭的值,以自我識別供偵錯之用。

  • SPEKE 目前不支援每個內容的多個音軌或按鍵。

    符合 Speke 標準的加密器充當用戶端,並將POST操作發送到金鑰提供者端點。加密程式可能會傳送定期的 heartbeat 請求,以確保加密程式與金鑰提供者端點之間的連線情況良好。