Bagikan melalui


Gambaran umum COPP

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Berikut adalah langkah-langkah dasar yang harus dilakukan aplikasi untuk menggunakan Certified Output Protection Protocol (COPP).

Mendapatkan rantai sertifikat driver

  1. Buat grafik pemutaran DirectShow yang merender video menggunakan Video Mixing Renderer (VMR-7 atau VMR-9) atau filter Enhanced Video Renderer (EVR).
  2. Kueri VMR untuk antarmuka IAMCertifiedOutputProtection .
  3. Panggil IAMCertifiedOutputProtection::KeyExchange. Metode ini mengembalikan angka acak 128-bit dari driver, bersama dengan rantai sertifikat yang berisi kunci umum RSA driver 2048-bit.

Memvalidasi rantai sertifikat

  1. Validasi rantai sertifikat. Jika rantai sertifikat tidak valid, hentikan.
  2. Periksa daftar pencabutan sertifikat (CRL). Jika salah satu sertifikat dalam rantai sertifikat muncul dalam daftar pencabutan, hentikan.
  3. Dapatkan kunci umum RSA dari rantai sertifikat.

Menginisialisasi Sesi COPP

  1. Buat kunci sesi AES 128-bit. Kunci ini digunakan untuk menandatangani data dan untuk memverifikasi bahwa data yang ditandatangani belum dirusak.
  2. Hasilkan dua angka acak 32-bit yang aman secara kriptografis. Yang pertama adalah nomor urutan status, dan yang kedua adalah nomor urutan perintah. Setiap kali aplikasi mengirim permintaan perintah atau status, aplikasi akan meningkatkan nomor urutan yang sesuai, dan menyertakan nomor ini dalam perintah COPP atau data permintaan.
  3. Menggabungkan angka acak 128-bit dari driver grafis, kunci sesi AES, nomor urutan status, dan nomor urutan perintah. Enkripsi array byte ini menggunakan kunci umum driver dan teruskan hasilnya ke IAMCertifiedOutputProtection::SessionSequenceStart.

Kirim Perintah COPP dan Permintaan Status

  1. Kueri untuk jenis perlindungan yang tersedia dan informasi lainnya dengan memanggil IAMCertifiedOutputProtection::P rotectionStatus.
  2. Atur tingkat perlindungan yang diinginkan dengan memanggil IAMCertifiedOutputProtection::P rotectionCommand.
  3. Kueri secara berkala untuk tingkat perlindungan lokal saat ini. Hentikan pemutaran jika tingkat perlindungan lokal berubah secara tak terduga atau jika masalah terdeteksi.

Menggunakan Certified Output Protection Protocol (COPP)