Verificação e inicialização
[O recurso associado a esta página, do SDK do Windows Media Format 11, é um recurso herdado. Foi substituído por de Leitor de Origem e do Gravador do Coletor de. de Leitor de Origem e Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use de Leitor de Origem e o Gravador do Coletor em vez de do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Você deve executar as seguintes etapas para verificar se a transscriptografia é permitida e inicializar um objeto que descriptografará o conteúdo:
- Se você já tiver a ID da chave para o conteúdo, pule para a etapa 5.
- Chame a função WMCreateEditor para criar um objeto de editor de metadados e obter uma instância da interface IWMMetadataEditor desse objeto.
- Chame IWMMetadataEditor::QueryInterface para obter uma instância da interfaceIWMDRMEditor.
- Chame IWMDRMEditor::GetDRMProperty para obter a propriedade DRM_DRMHeader_KeyID.
- Inicialize as APIs Estendidas do Cliente DRM de Mídia do Windows chamando a funçãoWMDRMStartup.
- Chame a função WMDRMCreateProtectedProvider para criar um objeto de provedor seguro e obter uma instância da interface deIWMDRMProviderdesse objeto.
- Chame IWMDRMProvider::CreateObject para criar um objeto de gerenciamento de licença e obter uma instância de sua interface deIWMDRMLicenseManagement.
- Chame IWMDRMLicenseManagement::CreateLicenseEnumeration, passando a ID da chave e o direito que rege as ações a serem executadas com o conteúdo depois que ele for transscriptografado. Essa chamada recuperará uma instância da interfaceIWMDRMLicenseque pode ser usada para enumerar por meio de licenças correspondentes.
- Chame IWMDRMLicense::GetInclusionList para recuperar a lista de CPS (sistemas de proteção de conteúdo autorizados), conforme especificado pelo emissor da licença.
- Analise a lista de inclusão para confirmar se o GUID do CPS de saída é permitido pela licença.
- Se o GUID de exportação desejado não estiver na lista de inclusão, chame IWMDRMLicense::GetNext para obter a próxima licença aplicável (se houver) e repita as etapas 9 e 10. Se nenhuma licença tiver o GUID desejado em sua lista de inclusão, a exportação não poderá ser executada.
- Chame IWMDRMLicense::CreateSecureDecryptor para criar um objeto de decryptor. Passe o certificado do aplicativo de exportação. Essa chamada fornecerá um ponteiro para uma instância da interface IWMDRMDecrypt do objeto descriptografador e um objeto binário que contém a semente. Somente a constante DRM_PROTECTION_TYPE_RC4 do Windows Media tem suporte como um argumento para o parâmetro dwFlags no momento.
- Use o esquema de criptografia OAEP RSA para descriptografar o vetor de inicialização.
- Use a biblioteca de análise ASF fornecida pela Microsoft quando você entrar no contrato de exportação drm de mídia do Windows, para localizar o deslocamento em bytes para cada conteúdo.
Tópicos relacionados
-
exportando de conteúdo compactado