本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SPEKEAPIv1--IF 规范的自定义和约束 DASH
DASH-IF CPIX 规范 https://dashif.org/docs/ DASH-IF-CPIX-v2-0.pdf
-
SPEKE 遵循 Encryptor Consumer 工作流。
-
对于加密的内容密钥,SPEKE应用以下限制:
-
SPEKE不支持请求或响应负载的数字签名验证 (XMLDSIG)。
-
SPEKE需要RSA基于 2048 的证书。
-
-
对于轮换密钥工作流程,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
,对于EXT-X-KEY
标签speke:KeyFormat
和参数的值,则KEYFORMAT
提供了可选的自定义KEYFORMATVERSIONS
参数。除非操作员明确指定,否则HLS初始化向量 (IV) 始终遵循分段编号。
-
当请求密钥时,加密程序可能会在
ContentKey
元素上使用可选的@explicitIV
属性。密钥提供程序可以使用@explicitIV
来响应 IV,即使该属性未包含在请求中。 -
加密程序创建密钥标识符 (
KID
),这对于任何给定的内容 ID 和密钥周期保持不变。密钥提供程序在其对请求文档的响应中包含KID
。 -
密钥提供程序可能包含
Speke-User-Agent
响应标头的值以确定本身用于调试目的。 -
SPEKE目前不支持每个内容有多个曲目或按键。
SPEKE兼容的加密器充当客户端,并将
POST
操作发送到密钥提供程序端点。加密程序可能会发送定期heartbeat
请求,以确保加密程序和密钥提供程序终端节点之间的连接正常。