Compartilhar via


Verificação e inicialização

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador do Coletor em vez 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:

  1. Se você já tiver a ID da chave para o conteúdo, pule para a etapa 5.
  2. Chame a função WMCreateEditor para criar um objeto editor de metadados e obter uma instância da interface IWMMetadataEditor desse objeto.
  3. Chame IWMMetadataEditor::QueryInterface para obter uma instância da interface IWMDRMEditor .
  4. Chame IWMDRMEditor::GetDRMProperty para obter a propriedade DRM_DRMHeader_KeyID .
  5. Inicialize as APIs Estendidas do Cliente DRM do Windows Media chamando a função WMDRMStartup .
  6. Chame a função WMDRMCreateProtectedProvider para criar um objeto de provedor seguro e obter uma instância da interface IWMDRMProvider desse objeto.
  7. Chame IWMDRMProvider::CreateObject para criar um objeto de gerenciamento de licenças e obter uma instância de sua interface IWMDRMLicenseManagement .
  8. 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 é transscriptografado. Essa chamada recuperará uma instância da interface IWMDRMLicense que pode ser usada para enumerar por meio de quaisquer licenças correspondentes.
  9. Chame IWMDRMLicense::GetInclusionList para recuperar a lista de CPS (sistemas de proteção de conteúdo) autorizados, conforme especificado pelo emissor da licença.
  10. Analise a lista de inclusão para confirmar se o GUID do CPS de saída é permitido pela licença.
  11. 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.
  12. Chame IWMDRMLicense::CreateSecureDecryptor para criar um objeto descriptografia. 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.
  13. Use o esquema de criptografia OAEP RSA para descriptografar o vetor de inicialização.
  14. Use a biblioteca de análise do ASF fornecida pela Microsoft quando você inserir o contrato de exportação de DRM do Windows Media para localizar o deslocamento em bytes para cada conteúdo.

Exportando conteúdo compactado