Partilhar via


Verificação e inicialização

[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. do Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize do Leitor de Origem e do Gravador de Separadores em vez de SDK do Windows Media Format 11, sempre que 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 transcriptografia é permitida e para inicializar um objeto que descriptografará o conteúdo:

  1. Se já tiver o ID da chave para o conteúdo, avance para o passo 5.
  2. Chame o função WMCreateEditor para criar um objeto editor de metadados e obter uma instância da interfaceIWMMetadataEditor desse objeto.
  3. Chame IWMMetadataEditor::QueryInterface para obter uma instância da interfaceIWMDRMEditor.
  4. Ligue 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 o função WMDRMCreateProtectedProvider para criar um objeto de provedor seguro e obter uma instância da interface deIWMDRMProviderdesse objeto.
  7. Chame IWMDRMProvider::CreateObject para criar um objeto de gerenciamento de licenças e obter uma instância de seu interface de IWMDRMLicenseManagement.
  8. Chame IWMDRMLicenseManagement::CreateLicenseEnumeration, passando o ID da chave e o direito que rege as ações a serem tomadas com o conteúdo depois que ele é transcriptografado. Esta chamada recuperará uma instância da interfaceIWMDRMLicense que pode ser usada para enumerar através de quaisquer licenças correspondentes.
  9. Ligue IWMDRMLicene::GetInclusionList para recuperar a lista de sistemas de proteção de conteúdo autorizados (CPS), 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 IWMDRMLicene::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 IWMDRMLicene::CreateSecureDecryptor para criar um objeto desencriptador. Passe no certificado de pedido de exportação. Esta chamada fornecerá um ponteiro para uma instância do objeto desencriptador interface de IWMDRMDecrypt e um objeto binário contendo a semente. Somente a constante Windows Media DRM_PROTECTION_TYPE_RC4 é suportada como um argumento para o parâmetro dwFlags no momento.
  13. Use o esquema de criptografia RSA OAEP para descriptografar o vetor de inicialização.
  14. Use a biblioteca de análise ASF fornecida pela Microsoft quando você entra no contrato de exportação do Windows Media DRM para localizar o deslocamento em bytes para cada carga útil.

Exportar conteúdo compactado