作为浏览器实现的 DRM 方案,许多东西并不在明面上进行,而且资料也比较少。
通过观察,我们发现。
要获得 Key ,需要准备三样东西。
cert – 通常向认证服务器发一个 0x04 0x08 获得
pssh – 通常在 mpd 中包含,或者在视频中内嵌
license – 向服务器请求获得。
license 如何请求获得呢,我们将 cert 和 pssh 传给 CDM,调用 CDM 的方法生成一个 challenge ,带上这个 challenge 请求认证服务器,即可获得 license。
以上就是一般的 MPEG-DASH 加密中获得 Key 的方法(除非是明文 Key,否则都要请求认证服务器)。
其中,生成 challenge 这一步在 CDM 内部完成,从 license 中取得视频的 Key 也是在 CDM 中完成,这就是 DRM 得以生效的原因。