本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SPEKEAPIV2
這是RESTAPI用於安全打包器和編碼器密鑰交換(SPEKE)v2。使用此規格為使用加密的客戶提供DRM版權保護。若要SPEKE符合標準,您的DRM金鑰提供者必須公開此規格中RESTAPI所述的內容。加密程式會API呼叫您的金鑰提供者。
注意
本規定中的代碼範例僅供參考之用。您不能運行這些示例,因為它們不是完整SPEKE實現的一部分。
SPEKE使用DASH產業論壇內容保護資訊交換格式 (DASH-IF-CPIX) 資料結構定義進行金鑰交換,但有一些限制。DASH-IF-CPIX 定義結構描述,以提供從DRM平台到加密器的可擴展多重DRM交換。這可讓系統在內容壓縮和封裝時,能夠對所有自適性位元速率封裝格式進行內容加密。自適應位元速率封裝格式包括HLSDASH、和MSS。
從它的 2.0 版本開始,SPEKE對齊一個特定的CPIX版本:
在SPEKE側面,這是通過使用X-Speke-Version
HTTP標題來強制執行的,並且通過使用CPIX@version
屬性來實施。CPIX請求中缺少這些元素是 SPEKE v1 舊版工作流程的典型情況。在 SPEKE v2 工作流程中,金鑰提供者只有在支援兩個版本參數時才會處理CPIX文件。
有關交換格式的詳細信息,請參閱DASH業界論壇 CPIX2.3 規範
總體而言,與 1.0 版相比,SPEKEv2.0 帶來了以下進化:SPEKE
-
SPEKEXML命名空間中的所有標籤都被棄用,以支持CPIXXML命名空間中的等效標籤
-
SPEKE:ProtectionHeader
已棄用,並由CPIX:DRMSystem.SmoothStreamingProtectionHeaderData
-
CPIX:URIExtXKey
,SPEKE:KeyFormat
而且已SPEKE:KeyFormatVersions
被棄用,並由CPIX:DRMSystem.HLSSignalingData
-
CPIX@id
被取代為CPIX@contentId
-
新的必要CPIX屬性:
CPIX@version
ContentKey@commonEncryptionScheme
-
新的可選CPIX元素:
DRMSystem.ContentProtectionData
-
Support 多個內容金鑰
-
和之間的跨版本控制機制 SPEKE CPIX
-
HTTP頭進化:新的
X-Speke-Version
頭,Speke-User-Agent
頭改名為X-Speke-User-Agent
-
心跳API棄用
由於 SPEKE v1.0 規範保持不變,因此現有的實現不需要更改即可繼續支持 SPEKE v1.0 工作流程。