Bagikan melalui


Mendapatkan Rantai Sertifikat Driver

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan 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 Pengambilan Audio/Video 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.]

Untuk menggunakan Certified Output Protection Protocol (COPP), aplikasi harus terlebih dahulu membangun grafik DirectShow yang menyertakan filter Video Mixing Render (VMR-7 atau VMR-9). Filter Video Renderer yang lebih lama tidak mendukung COPP. Sebelum memanggil metode COPP apa pun, aplikasi harus membangun grafik pemutaran video dan menyambungkan dekoder ke pin input filter VMR. Tidak perlu memutar file video.

Setelah membuat grafik, kueri VMR untuk antarmuka IAMCertifiedOutputProtection , lalu panggil IAMCertifiedOutputProtection::KeyExchange. Metode ini mengembalikan angka acak 128-bit yang diketik sebagai GUID, bersama dengan penunjuk ke array byte yang berisi rantai sertifikat XML driver dalam format UTF-8. Kode berikut menunjukkan cara mendapatkan rantai sertifikat.

GUID guidRandom;
BYTE *pbCertificateChain = NULL;
DWORD cbCertificateChainLen;   // Size of the certificate chain, in bytes.
hr = pCOPP->KeyExchange(&guidRandom, &pbCertificateChain,
         &cbCertificateChainLen);
if (SUCCEEDED(hr))
{
    // TODO: Validate the certificate chain and get the driver's
    // public key. 

    // When you are done, free the buffer that contains the 
    // certificate chain.
    CoTaskMemFree(pbCertificateChain);
}

Menggunakan Protokol Perlindungan Output Bersertifikat (COPP)