Freigeben über


Automatisiertes Sperren und Erneuern von Komponenten

Softwareanwendungen oder -komponenten, die als gefährdet gelten, können von Microsoft widerrufen werden. Die erweiterte Windows Media Format-Client-API bietet einen Mechanismus für die automatisierte Sperrung und Erneuerung von Komponenten.

Widerrufene 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 die Widerrufsinformationen BLOB (REV_INFO) werden auf den Microsoft-Servern aktualisiert.

Um eine automatisierte Sperrung und Verlängerung durchzuführen, wenn ein Benutzer versucht, geschützte Inhalte von Windows Media DRM 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 suchen Sie nach Windows Media DRM-Sperrungen. Weitere Informationen finden Sie unter Überprüfen der Zertifikatsperrung.

  6. Wenn Windows Media DRM-Sperrungen vorhanden sind:

    1. Erstellen Sie einen Content Enabler, um die widerrufenen Komponenten zu verlängern, indem Sie die IWMDRMSecurity::GetContentEnablersForRevocations-Methode aufrufen.

    2. Rufen Sie IMFContentEnabler::AutomaticEnable auf, der den Benutzer zu einer URL weitergibt, die Informationen zur Komponentenerneuerung 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 für den 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 Befolgen spezifischer Anweisungen. Es wird einige Situationen geben, in denen die Komponente nicht erneuert werden kann.

    4. Versuchen Sie erneut, auf den Inhalt zuzugreifen, bis es keine weiteren Sperrungen gibt oder der Prozess aus irgendeinem Grund angehalten wird.

Programmierhandbuch