Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y receptor escritor. lector de origen y receptor escritor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen y escritor receptor en lugar de SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Debe realizar los pasos siguientes para comprobar que se permite el transcifrado e inicializar un objeto que descifrará el contenido:
- Si ya tiene el identificador de clave para el contenido, vaya al paso 5.
- Llame a la funciónWMCreateEditorpara crear un objeto del editor de metadatos y obtener una instancia de la interfaz IWMMetadataEditor del objeto.
- Llame a IWMMetadataEditor::QueryInterface para obtener una instancia de la interfaz de IWMDRMEditor.
- Llame a IWMDRMEditor::GetDRMProperty para obtener la propiedad DRM_DRMHeader_KeyID.
- Inicialice las API extendidas del cliente DRM de Windows Media llamando a la función WMDRMStartup.
- Llame a la función wmDRMCreateProtectedProvider para crear un objeto de proveedor seguro y obtener una instancia de la interfaz deIWMDRMProvider de ese objeto.
- Llame a IWMDRMProvider::CreateObject para crear un objeto de administración de licencias y obtener una instancia de su interfaz IWMDRMLicenseManagement.
- Llame a IWMDRMLicenseManagement::CreateLicenseEnumeration, pasando el identificador de clave y el derecho que rige las acciones que se realizarán con el contenido después de transcifrarse. Esta llamada recuperará una instancia de la interfaz de IWMDRMLicense que se puede usar para enumerar a través de las licencias coincidentes.
- Llame a IWMDRMLicense::GetInclusionList para recuperar la lista de sistemas de protección de contenido autorizados (CPS) según lo especificado por el emisor de licencias.
- Analice la lista de inclusión para confirmar que la licencia permite el GUID de la CPS de salida.
- Si el GUID de exportación deseado no está en la lista de inclusión, llame a IWMDRMLicense::GetNext para obtener la siguiente licencia aplicable (si existe) y repita los pasos 9 y 10. Si ninguna licencia tiene el GUID deseado en su lista de inclusión, no se puede realizar la exportación.
- Llame a IWMDRMLicense::CreateSecureDecryptor para crear un objeto de descifrador. Pase el certificado de la aplicación de exportación. Esta llamada proporcionará un puntero a una instancia del objeto de descifrador IWMDRMDecrypt interfaz y un objeto binario que contiene la inicialización. Solo se admite la constante DRM_PROTECTION_TYPE_RC4 de Windows Media como argumento para el parámetro dwFlags en este momento.
- Use el esquema de cifrado OAEP RSA para descifrar el vector de inicialización.
- Use la biblioteca de análisis de ASF proporcionada por Microsoft al entrar en el contrato de exportación de DRM de Windows Media para localizar el desplazamiento en bytes para cada carga útil.
Temas relacionados