本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SPEKE API v1 - 有关 DASH-IF 规范的自定义项和约束
DASH-IF CPIX 规范,https://dashif。 org/docs/DASH
-
SPEKE 遵循 Encryptor Consumer 工作流。
-
对于加密的内容密钥,SPEKE 应用以下限制:
-
SPEKE 不支持请求或响应负载的数字签名验证(XMLDSIG)。
-
SPEKE 需要基于 2048 位 RSA 的证书。
-
-
对于轮换密钥工作流,SPEKE 需要
ContentKeyUsageRule筛选条件KeyPeriodFilter。SPEKE 会忽略所有其他ContentKeyUsageRule设置。 -
SPEKE 会忽略
UpdateHistoryItemList功能。如果响应中包含该列表,则 SPEKE 会将其忽略。 -
SPEKE 支持密钥轮换。SPEKE 只使用 `ContentKeyPeriod@index 来跟踪关键时段。
-
为了支持 MSS PlayReady,SPEKE 在
DRMSystem标签下使用了一个自定义参数。SPEKE:ProtectionHeader -
对于 HLS 打包,如果
URIExtXKey包含在响应中,则它必须包含要在 HLS 播放列表的EXT-X-KEY标签的 URI 参数中添加的完整数据,没有其他信号发送要求。 -
对于 HLS 播放列表,在
DRMSystem标签下,SPEKE 提供了可选的自定义参数speke:KeyFormat和speke:KeyFormatVersions,对应于EXT-X-KEY标签的KEYFORMAT和KEYFORMATVERSIONS参数的值。HLS 初始化向量 (IV) 始终跟随段编号,除非由运算符显式指定。
-
当请求密钥时,加密程序可能会在
ContentKey元素上使用可选的@explicitIV属性。密钥提供程序可以使用@explicitIV来响应 IV,即使该属性未包含在请求中。 -
加密程序创建密钥标识符 (
KID),这对于任何给定的内容 ID 和密钥周期保持不变。密钥提供程序在其对请求文档的响应中包含KID。 -
密钥提供程序可能包含
Speke-User-Agent响应标头的值以确定本身用于调试目的。 -
对于每个内容,SPEKE 目前不支持多个轨迹或密钥。
符合 SPEKE 的加密程序充当客户端并向密钥提供程序端点发送
POST操作。加密程序可能会发送定期heartbeat请求,以确保加密程序和密钥提供程序终端节点之间的连接正常。