Automatisierte Komponentensperrung und -erneuerung

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK-ist ein Legacyfeature. Es wurde von Source Reader und Sink Writerersetzt. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code Source Reader und Sink Writer- anstelle Windows Media Format 11 SDK-verwendet werden soll. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]

Softwareanwendungen oder Komponenten, die als kompromittiert betrachtet werden, können von Microsoft widerrufen werden. Die erweiterte Windows Media Format-Client-API bietet einen Mechanismus für den automatisierten Widerruf und die Erneuerung von Komponenten.

Widerrufene Komponenten werden in einer Zertifikatsperrliste aufgeführt, die von Microsoft veröffentlicht wird. Wenn eine Komponente widerrufen wird, wird das Zertifikat der Zertifikatsperrliste hinzugefügt, und das BLOB (REV_INFO) der Sperrinformationen wird auf den Microsoft-Servern aktualisiert.

Um automatisierte Sperrung und Erneuerung durchzuführen, wenn ein Benutzer versucht, windows Media DRM-geschützte Inhalte zu verarbeiten, muss Ihre Anwendung folgendes tun:

  1. Extrahieren Sie die REV_INFO Version aus der Lizenz. Die REV_INFO Versionsnummer befindet sich am folgenden Speicherort in einer XMR-Lizenz:

    <LICENSE version="2.0.0.0">
        <LICENSORINFO/>
        <DATA>
            <LID>...</LID>
            <KID>...</KID>
            <RevInfoVersion>42</RevInfoVersion>
            ...
         </DATA>
    ....
    </LICENSE>
    
  2. Vergleichen Sie die REV_INFO Versionsnummer der Lizenz mit der REV_INFO Versionsnummer im lokalen Speicher, indem Sie die IWMDRMSecurity::GetRevocationDataVersion-Methode aufrufen.

  3. Wenn die REV_INFO Version nicht auf dem neuesten Stand ist, rufen Sie die IWMDRMSecurity::P erformSecurityUpdate-Methode auf, und übergeben Sie das WMDRM_SECURITY_PERFORM_REVOCATION_REFRESH Flag im dwFlags Parameter.

  4. Rufen Sie die Zertifikatsperrliste aus dem lokalen Speicher ab, indem Sie die IWMDRMSecurity::GetRevocationData-Methode aufrufen.

  5. Analysieren Sie die Sperrliste, und überprüfen Sie die Windows Media DRM-Sperrungen. Weitere Informationen finden Sie unter Überprüfen der Zertifikatsperrung.

  6. Wenn Windows Media DRM-Sperrungen vorhanden sind:

    1. Erstellen Sie eine Inhaltsaktivierer, um die widerrufenen Komponenten zu erneuern, indem Sie die IWMDRMSecurity::GetContentEnablersForRevocations-Methode aufrufen.

    2. Rufen Sie IMFContentEnabler::AutomaticEnable auf, die den Benutzer zu einer URL leitet, die Informationen zur Komponentenerneuerung enthält. Diese Methode ist im Media Foundation SDK (https://msdn.microsoft.com/library/ms694197(VS.85).aspx) dokumentiert.

      Anmerkung

      Sie müssen diesen Vorgang dem Benutzer durch die Verwendung einer Datenschutzerklärung klarstellen, da der Aktualisierungsprozess Informationen vom Clientcomputer an eine Microsoft-Website sendet.

       

    3. Wenn möglich, erneuert der Benutzer die Komponente über die URL, entweder automatisch oder durch Ausführen bestimmter Anweisungen. Es gibt einige Situationen, in denen die Komponente nicht erneuert werden kann.

    4. Versuchen Sie erneut, auf den Inhalt zuzugreifen, bis keine weiteren Sperrungen vorhanden sind, oder der Vorgang wird aus irgendeinem Grund angehalten.

Programmierhandbuch