加密和导入媒体示例

[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

对于使用 Windows Media DRM 加密的每个媒体示例,必须生成一个盐值,该值严格大于上一个值, (单调递增) 。 通过将 SHA-1 加密算法应用于与 salt 值串联的初始化向量,使用新的 salt 值来创建临时加密密钥。

接下来,使用生成的临时密钥根据 RC4 算法加密示例。 在将示例传递到 SDK 之前,应用程序必须通过设置扩展属性将 salt 值与示例相关联。

下面是加密媒体示例的步骤:

  1. 调用示例对象的 QueryInterface 方法以获取 INSSBuffer3 接口。
  2. 递增盐值。
  3. 使用 RC1 加密算法加密示例。 对于加密,可以通过连接初始化向量和 salt 值来创建密钥。
  4. 通过调用 INSSBuffer::SetProperty 向 SDK 提供 salt 值。

DRM 导入

媒体示例加密示例