创建和初始化 DRM 编写器

若要初始化 ASF 编写器对象以在 Windows Media DRM 中导入加密媒体示例,需要执行以下步骤。

  1. 按照 导入许可证和密钥材料的步骤 1 到 4 操作。
  2. 使用适当的 Windows Media DRM 密钥材料创建和初始化 ASF 编写器对象。 有关详细信息,请参阅 启用 DRM 支持
  3. 通过调用 IWMDRMWriter::SetDRMAttribute 设置以下每个属性:
    • DRM_HeaderSignPrivKey
    • DRM_V1LicenseAcqURL
    • DRM_KeyID
    • DRM_LicenseAcqURL
  4. 如果运行软件的计算机上未安装 Windows Media Rights Manager 的许可版本,则还必须设置以下四个属性:
    • DRM_LASignatureRootCert
    • DRM_LASignatureCert
    • DRM_LASignatureLicSrvCert
    • DRM_LASignaturePrivKey
    • 可以通过在线填写 Windows Media 许可协议 (WMLA) 来完成必要的加密证书申请。
  5. 创建会话密钥并填写 WMDRM_IMPORT_SESSION_KEY 结构。 会话密钥将用于加密内容密钥。 有关示例,请参阅 创建会话密钥示例
  6. 从随机 RC4 初始化向量创建内容密钥,并填写 WMDRM_IMPORT_CONTENT_KEY 结构。 内容密钥用于加密媒体示例。 有关示例,请参阅 创建内容键示例
  7. 使用会话密钥(使用 RC4 加密)加密内容密钥。
  8. 提取计算机证书收集密钥。 有关示例,请参阅 获取计算机证书示例
  9. 使用从证书中提取的公钥加密会话密钥。
  10. 填写 WMDRM_IMPORT_INIT_STRUCT 结构。
  11. 调用 IWMDRMWriter3::SetProtectStreamSamples 方法以通知 SDK 进入编写器的示例已受到保护,应直接发送到 Windows Media DRM 客户端进行导入。
  12. 调用 IWMWriter::BeginWriting

Windows 媒体格式 SDK 编程指南中介绍了创建受 DRM 保护的文件的其余步骤。 有关详细信息,请参阅 创建受保护的文件

下一步是循环访问每个媒体示例,对其进行加密,并将其传递给编写器对象。 有关详细信息,请参阅 加密和导入媒体示例

属性

DRM 导入