M3U8 流可以使用带或不带 IV 的 AES-128 进行加密,如下所述:https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07#section-3.3.4。现在我有一个显然使用证书加密的流。它位于:http://vod-and.llnw.cdn.m6web.fr/phls-vod/Top-Chef_c11281322_Episode-8_600k.mp4.m3u8
在此文件中,我们有一个密钥 URI,其形式为faxs://faxs.adobe.com
和一个IV
。此密钥 URI 意味着我们必须使用EXT-X-FAXS-CM
,它包含 base64 编码的 PKCS #7 证书链。
我们能否利用所有这些信息获得信息流?如何获得信息流?
答案1
为了解密加密的视频流,您需要加密密钥。此密钥是不是流的一部分。应单独获取。
EXT-X-FAXS-CM 标头包含 DRM 元数据而不是密钥。
这是 Adobe Media Server 开发人员指南的摘录:受 Adobe Access Server 保护的变体播放列表还需要包含 #EXT-X-FAXS-CM 标签。变体播放列表中 #EXT-X-FAXS-CM 标签的值是指向单个流之一的 DRM 元数据的相对 URI。在客户端,变体播放列表中的 #EXT-X-FAXS-CM 标签将用于创建 DRM 会话。变体播放列表中的所有加密 M3U8 文件都将使用相同的 DRM 会话。
完整指南可在此处找到: http://help.adobe.com/en_US/adobemediaserver/devguide/WS5262178513756206-4b6aabd1378392bb59-7fe8.html
还提到 faxs://faxs.adobe.com URI 用于本地密钥服务。因此密钥是从设备本地获取的。
顺便说一下,它是 AES-128 加密和 PKCS#7 填充。