共用方式為


COPP 概觀

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

以下是應用程式必須使用認證輸出保護通訊協定 (COPP) 執行的基本步驟。

取得驅動程式的憑證鏈結

  1. 建置 DirectShow 播放圖表,使用影片混合轉譯器 (VMR-7 或 VMR-9) 或 增強的視 訊轉譯器篩選 (EVR) 。
  2. 查詢 IAMCertifiedOutputProtection 介面的 VMR。
  3. 呼叫 IAMCertifiedOutputProtection::KeyExchange。 這個方法會從驅動程式傳回 128 位亂數,以及包含驅動程式 2048 位 RSA 公開金鑰的憑證鏈結。

驗證憑證鏈結

  1. 驗證憑證鏈結。 如果憑證鏈結無效,請停止。
  2. 檢查 CRL () 的憑證撤銷清單。 如果憑證鏈結中的任何憑證出現在撤銷清單中,請停止。
  3. 從憑證鏈結取得 RSA 公開金鑰。

初始化 COPP 會話

  1. 產生 128 位 AES 工作階段金鑰。 此金鑰用來簽署資料,並確認已簽署的資料未遭到竄改。
  2. 產生兩個密碼編譯安全的 32 位亂數。 第一個是狀態序號,第二個是命令序號。 每次應用程式傳送命令或狀態要求時,都會遞增對應的序號,並在 COPP 命令或要求資料中包含此號碼。
  3. 從圖形驅動程式串連 128 位亂數、AES 會話索引鍵、狀態序號和命令序號。 使用驅動程式的公開金鑰來加密此位元組陣列,並將結果傳遞至 IAMCertifiedOutputProtection::SessionSequenceStart

傳送 COPP 命令和狀態要求

  1. 呼叫 IAMCertifiedOutputProtection::P rotectionStatus來查詢可用的保護類型和其他資訊。
  2. 呼叫 IAMCertifiedOutputProtection::P rotectionCommand來設定所需的保護層級。
  3. 定期查詢目前的本機保護層級。 如果本機保護等級意外變更,或偵測到問題,請停止播放。

使用認證輸出保護通訊協定 (COPP)