Проверьте соответствие HDCP дисплея (принудительно выведите HDCP, отключите выход, если HDCP недоступен)

Я работаю в C# Windows Forms и хотел бы убедиться, что содержимое моей формы выводится только через поток, совместимый с HDCP, с использованием аппаратного обеспечения системы. Это потребует многоэтапного процесса. Блок-схема высокого уровня описания процесса будет:

  1. определить, поддерживает ли дисплей HDCP
  2. определить, поддерживает ли графический адаптер HDCP
  3. наконец, включение шифрования HDCP на выходе

Если какой-либо из этих этапов сообщает о неудаче, то затемнение формы является тривиальным вопросом.

Я провел небольшое количество исследований в этой области, но не могу найти подробных примеров, указаний или инструкций для достижения этой цели. До сих пор я изучал использование DirectX и Windows OPM, но нашел недостаточную помощь. Лицензия Windows PlayReady также, кажется, исправляет эту проблему, но, похоже, предназначена для предварительно зашифрованного контента (и это также довольно дорого). Возможно, есть подход, который я не заметил или не подумал?

Если вам нужна какая-либо другая информация, пожалуйста, дайте мне знать.

Заранее спасибо.

1 ответ

HDCP приятно иметь, но очень сложно реализовать. Даже если у вас есть такой продукт на рынке, который делает именно то, что вы хотите, он не будет сертифицирован HDCP, потому что его легко взломать. В большинстве случаев связанные с HDCP вещи, например, ПЗУ, в котором хранятся ключи HDCP, защищены аппаратно и никогда не могут быть считаны, когда ваш продукт поступит в продажу. Иногда вам даже нужно скрыть аппаратные пути от одного компонента к другому, чтобы защитить отнюдь не зашифрованные данные HDCP, например, между чипом графической карты и разъемом HDMI.

Чтобы ответить на ваш вопрос, вы можете только определить, поддерживает ли дисплей HDCP или нет, если вы можете каким-то образом прочитать EDID дисплея. Я не думаю, что вы можете сделать это с помощью существующих инструментов в Windows. Я могу быть неправ, хотя.

Другие вопросы по тегам