如何在 Android 中存储媒体 DRM 密钥以供离线使用
Posted
技术标签:
【中文标题】如何在 Android 中存储媒体 DRM 密钥以供离线使用【英文标题】:How to store media DRM keys for offline usage in Android 【发布时间】:2019-07-05 11:39:17 【问题描述】:想检查是否有任何由 android 提供的 API 可用于安全地存储 DRM 密钥。
我们正在使用 OfflineLicenseHelper 下载 DRM 密钥,以便离线使用 drm 媒体资产。但我们关心的是如何安全地存储密钥。
任何指针将不胜感激。
【问题讨论】:
【参考方案1】:假设您使用的是标准 DRM 解决方案,如果它在 Android 上很可能是 Widevine,那么您不必担心自己安全地存储密钥,因为这是 DRM 系统提供的功能的一部分。
DRM 系统将安全地存储密钥,并在您请求播放时将其提供给设备中的安全媒体路径。
【讨论】:
谢谢@Mick。您能否详细说明哪些 api 安全地存储了密钥。我们正在使用 OfflineLicenseHelper 类来下载许可证。 DRM 许可证包含内容加密密钥和与之关联的规则,包括其有效时间。所有这些都在服务器端的 DRM 许可证中加密,并传递到客户端上的 DRM 系统,该系统存储它并且应该是客户端上唯一能够解密许可证的实体。所以换句话说,存储是作为 DRM 系统本身的一部分发生的。以上是关于如何在 Android 中存储媒体 DRM 密钥以供离线使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 MediaDrm 在 android 中解密受 Widevine DRM 保护的视频
带有 DRM 密钥轮换的 YouTube 流只能播放 2 分钟