コンポーネントの自動失効と更新

侵害されたと見なされるソフトウェア アプリケーションまたはコンポーネントは、Microsoft によって取り消される可能性があります。 Windows Media Format Client Extended API には、コンポーネントの自動失効と更新のためのメカニズムが用意されています。

失効したコンポーネントは、Microsoft によって公開される証明書失効リストに一覧表示されます。 コンポーネントが失効すると、その証明書が証明書失効リストに追加され、Microsoft サーバーで失効情報 BLOB (REV_INFO) が更新されます。

ユーザーが Windows Media DRM で保護されたコンテンツを処理しようとしたときに自動失効と更新を実行するには、アプリケーションで次の操作を行う必要があります。

  1. ライセンスからREV_INFOバージョンを抽出します。 REV_INFOバージョン番号は、XMR ライセンスの次の場所にあります。

    <LICENSE version="2.0.0.0">
        <LICENSORINFO/>
        <DATA>
            <LID>...</LID>
            <KID>...</KID>
            <RevInfoVersion>42</RevInfoVersion>
            ...
         </DATA>
    ....
    </LICENSE>
    
  2. IWMDRMSecurity::GetRevocationDataVersion メソッドを呼び出して、ライセンスのREV_INFOバージョン番号とローカル ストアのREV_INFOバージョン番号を比較します。

  3. REV_INFOバージョンが最新でない場合は、 IWMDRMSecurity::P erformSecurityUpdate メソッドを呼び出し、 dwFlags パラメーターに WMDRM_SECURITY_PERFORM_REVOCATION_REFRESH フラグを渡します。

  4. IWMDRMSecurity::GetRevocationData メソッドを呼び出して、ローカル ストアから証明書失効リストを取得します。

  5. 失効リストを解析し、Windows Media DRM 失効のチェックします。 詳細については、「 証明書失効の確認」を参照してください。

  6. Windows Media DRM 失効がある場合:

    1. IWMDRMSecurity::GetContentEnablersForRevocations メソッドを呼び出して、取り消されたコンポーネントを更新するコンテンツ イネーブラーを作成します。

    2. IMFContentEnabler::AutomaticEnable を呼び出して、コンポーネントの更新情報を含む URL にユーザーを誘導します。 このメソッドについては、 Media Foundation SDK (https://msdn.microsoft.com/library/ms694197(VS.85).aspx) に記載されています。

      注意

      更新プロセスはクライアント コンピューターから Microsoft Web サイトに情報を送信するため、プライバシーに関する声明を使用して、このプロセスをユーザーに明確にする必要があります。

       

    3. 可能であれば、ユーザーは URL から、自動的に、または特定の手順に従ってコンポーネントを更新します。 コンポーネントを更新できない場合があります。

    4. 失効がなくなったか、何らかの理由でプロセスが停止されるまで、コンテンツに再度アクセスしてみてください。

プログラミング ガイド