Automatisierte Komponentensperrung und -verlängerung

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

Gesperrte Komponenten werden in einer Zertifikatsperrliste aufgeführt, die von Microsoft veröffentlicht wird. Wenn eine Komponente widerrufen wird, wird ihr Zertifikat der Zertifikatsperrliste hinzugefügt, und das SPERRINFORMATIONSBLOB (REV _ INFO) wird auf den Microsoft-Servern aktualisiert.

Um automatisierte Sperrung und Verlängerung durchzuführen, wenn ein Benutzer versucht, Windows durch Medien-DRM geschützten Inhalt zu verarbeiten, muss Ihre Anwendung folgende Schritte ausführen:

  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 suchen Sie nach Windows Medien-DRM-Sperrungen. Weitere Informationen finden Sie unter Überprüfen der Zertifikatsperrung.

  6. Wenn Windows Medien-DRM-Sperrungen vorhanden sind:

    1. Erstellen Sie eine Inhaltsermöglichung zum Erneuern der gesperrten Komponenten, indem Sie die IWMDRMSecurity::GetContentEnablersForRevocations-Methode aufrufen.

    2. Rufen Sie DEN AUFRUF VONCONTENTEnabler::AutomaticEnable auf, der den Benutzer zu einer URL weiterleitet, die Komponentenerneuerungsinformationen enthält. Diese Methode ist im Media Foundation SDK ( https://msdn.microsoft.com/library/ms694197(VS.85).aspx) dokumentiert.

      Hinweis

      Sie müssen diesen Prozess dem Benutzer durch die Verwendung einer Datenschutzerklärung verdeutlichen, 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 Befolgen spezifischer 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 mehr vorliegen oder der Prozess aus irgendeinem Grund angehalten wird.

Programmierhandbuch