Vérification et initialisation
[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par le lecteur source et l’enregistreurrécepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Vous devez effectuer les étapes suivantes pour vérifier que la transcryption est autorisée et pour initialiser un objet qui déchiffrera le contenu :
- Si vous avez déjà l’ID de clé pour le contenu, passez à l’étape 5.
- Appelez la fonction WMCreateEditor pour créer un objet d’éditeur de métadonnées et obtenir une instance de l’interface IWMMetadataEditor de cet objet.
- Appelez IWMMetadataEditor::QueryInterface pour obtenir un instance de l’interface IWMDRMEditor.
- Appelez IWMDRMEditor::GetDRMProperty pour obtenir la propriété DRM_DRMHeader_KeyID .
- Initialisez les API étendues du client DRM Windows Media en appelant la fonction WMDRMStartup .
- Appelez la fonction WMDRMCreateProtectedProvider pour créer un objet fournisseur sécurisé et obtenir une instance de l’interface IWMDRMProvider de cet objet.
- Appelez IWMDRMProvider::CreateObject pour créer un objet de gestion des licences et obtenir une instance de son interface IWMDRMLicenseManagement.
- Appelez IWMDRMLicenseManagement::CreateLicenseEnumeration, en transmettant l’ID de clé et le droit qui régit les actions à entreprendre avec le contenu après sa transchiffre. Cet appel récupère une instance de l’interface IWMDRMLicense qui peut être utilisée pour énumérer toutes les licences correspondantes.
- Appelez IWMDRMLicense::GetInclusionList pour récupérer la liste des systèmes de protection de contenu (CPS) autorisés, comme spécifié par l’émetteur de la licence.
- Analysez la liste d’inclusion pour confirmer que le GUID du CPS de sortie est autorisé par la licence.
- Si le GUID d’exportation souhaité ne figure pas dans la liste d’inclusion, appelez IWMDRMLicense::GetNext pour obtenir la licence applicable suivante (le cas échéant) et répétez les étapes 9 et 10. Si aucune licence n’a le GUID souhaité dans sa liste d’inclusion, l’exportation ne peut pas être effectuée.
- Appelez IWMDRMLicense::CreateSecureDecryptor pour créer un objet de déchiffreur. Transmettez le certificat d’application d’exportation. Cet appel fournit un pointeur vers un instance de l’interface IWMDRMDecrypt de l’objet déchiffreur et un objet binaire contenant la valeur initiale. Seule la constante windows Media DRM_PROTECTION_TYPE_RC4 est actuellement prise en charge en tant qu’argument du paramètre dwFlags .
- Utilisez le schéma de chiffrement RSA OAEP pour déchiffrer le vecteur d’initialisation.
- Utilisez la bibliothèque d’analyse ASF fournie par Microsoft lorsque vous concluez le contrat d’exportation DRM Windows Media pour localiser le décalage en octets pour chaque charge utile.
Rubriques connexes