Überprüfung und Initialisierung
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Führen Sie die folgenden Schritte aus, um zu überprüfen, ob die Transcryption zulässig ist, und um ein Objekt zu initialisieren, das den Inhalt entschlüsselt:
- Wenn Sie bereits über die Schlüssel-ID für den Inhalt verfügen, fahren Sie mit Schritt 5 fort.
- Rufen Sie die WMCreateEditor-Funktion auf, um ein Metadaten-Editor-Objekt zu erstellen und eine instance der IWMMetadataEditor-Schnittstelle dieses Objekts abzurufen.
- Rufen Sie IWMMetadataEditor::QueryInterface auf, um eine instance der IWMDRMEditor-Schnittstelle abzurufen.
- Rufen Sie IWMDRMEditor::GetDRMProperty auf, um die eigenschaft DRM_DRMHeader_KeyID abzurufen.
- Initialisieren Sie die erweiterten Windows Media DRM-Client-APIs, indem Sie die Funktion WMDRMStartup aufrufen.
- Rufen Sie die Funktion WMDRMCreateProtectedProvider auf, um ein sicheres Anbieterobjekt zu erstellen und eine instance der IWMDRMProvider-Schnittstelle dieses Objekts abzurufen.
- Rufen Sie IWMDRMProvider::CreateObject auf, um ein Lizenzverwaltungsobjekt zu erstellen und eine instance der IWMDRMLicenseManagement-Schnittstelle abzurufen.
- Rufen Sie IWMDRMLicenseManagement::CreateLicenseEnumeration auf, und übergeben Sie die Schlüssel-ID und das Recht, das die Aktionen steuert, die mit dem Inhalt ausgeführt werden sollen, nachdem er transcrypted wurde. Mit diesem Aufruf wird eine instance der IWMDRMLicense-Schnittstelle abgerufen, die verwendet werden kann, um alle übereinstimmenden Lizenzen aufzulisten.
- Rufen Sie IWMDRMLicense::GetInclusionList auf, um die Vom Lizenzaussteller angegebene Liste der autorisierten Content Protection-Systeme (CPS) abzurufen.
- Analysieren Sie die Einschlussliste, um zu bestätigen, dass die GUID des Ausgabe-CPS von der Lizenz zulässig ist.
- Wenn die gewünschte Export-GUID nicht in der Aufnahmeliste enthalten ist, rufen Sie IWMDRMLicense::GetNext auf, um die nächste anwendbare Lizenz (falls vorhanden) zu erhalten und die Schritte 9 und 10 zu wiederholen. Wenn keine Lizenz die gewünschte GUID in der Aufnahmeliste enthält, kann der Export nicht ausgeführt werden.
- Rufen Sie IWMDRMLicense::CreateSecureDecryptor auf, um ein Decryptor-Objekt zu erstellen. Übergeben Sie das Exportanwendungszertifikat. Dieser Aufruf stellt einen Zeiger auf eine instance der IWMDRMDecrypt-Schnittstelle des Decryptorobjekts und ein binäres Objekt bereit, das den Seed enthält. Derzeit wird nur die Windows Media DRM_PROTECTION_TYPE_RC4-Konstante als Argument für den dwFlags-Parameter unterstützt.
- Verwenden Sie das RSA OAEP-Verschlüsselungsschema, um den Initialisierungsvektor zu entschlüsseln.
- Verwenden Sie die von Microsoft bereitgestellte ASF-Analysebibliothek, wenn Sie die Windows Media DRM-Exportvereinbarung abschließen, um den Offset in Bytes für jede Nutzlast zu suchen.
Zugehörige Themen