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