Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[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:
- Se já tiver o ID da chave para o conteúdo, avance para o passo 5.
- Chame o função WMCreateEditor para criar um objeto editor de metadados e obter uma instância da interfaceIWMMetadataEditor desse objeto.
- Chame IWMMetadataEditor::QueryInterface para obter uma instância da interfaceIWMDRMEditor.
- Ligue IWMDRMEditor::GetDRMProperty para obter a propriedade DRM_DRMHeader_KeyID.
- Inicialize as APIs estendidas do cliente DRM do Windows Media chamando a função WMDRMStartup.
- Chame o 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ças e obter uma instância de seu interface de IWMDRMLicenseManagement.
- 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.
- Ligue IWMDRMLicene::GetInclusionList para recuperar a lista de sistemas de proteção de conteúdo autorizados (CPS), 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 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.
- 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.
- Use o esquema de criptografia RSA OAEP para descriptografar o vetor de inicialização.
- 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.
Tópicos relacionados