Compartir a través de


Introducción a COPP

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Estos son los pasos básicos que una aplicación debe realizar para usar el Protocolo de protección de salida certificada (COPP).

Obtención de la cadena de certificados del controlador

  1. Cree un gráfico de reproducción de DirectShow que represente vídeo mediante el representador de mezcla de vídeos (VMR-7 o VMR-9) o el filtro Enhanced Video Renderer (EVR).
  2. Consulte el VMR para la interfaz IAMCertifiedOutputProtection .
  3. Llame a IAMCertifiedOutputProtection::KeyExchange. Este método devuelve un número aleatorio de 128 bits del controlador, junto con una cadena de certificados que contiene la clave pública RSA de 2048 bits del controlador.

Validación de la cadena de certificados

  1. Valide la cadena de certificados. Si la cadena de certificados no es válida, detenga.
  2. Compruebe la lista de revocación de certificados (CRL). Si alguno de los certificados de la cadena de certificados aparece en la lista de revocación, detenga.
  3. Obtenga la clave pública RSA de la cadena de certificados.

Inicialización de la sesión copp

  1. Genere una clave de sesión AES de 128 bits. Esta clave se usa para firmar datos y para comprobar que los datos firmados no se han alterado.
  2. Genere dos números aleatorios de 32 bits seguros criptográficamente. El primero es un número de secuencia de estado y el segundo es un número de secuencia de comandos. Cada vez que la aplicación envía un comando o una solicitud de estado, incrementa el número de secuencia correspondiente e incluye este número en los datos de solicitud o comando COPP.
  3. Concatene el número aleatorio de 128 bits del controlador de gráficos, la clave de sesión AES, el número de secuencia de estado y el número de secuencia de comandos. Cifre esta matriz de bytes mediante la clave pública del controlador y pase el resultado a IAMCertifiedOutputProtection::SessionSequenceStart.

Enviar comandos COPP y solicitudes de estado

  1. Consulte los tipos de protección disponibles y otra información llamando a IAMCertifiedOutputProtection::P rotectionStatus.
  2. Establezca los niveles de protección deseados llamando a IAMCertifiedOutputProtection::P rotectionCommand.
  3. Consulte periódicamente el nivel de protección local actual. Detenga la reproducción si el nivel de protección local cambia inesperadamente o si se detecta un problema.

Uso del Protocolo de protección de salida certificada (COPP)