DisplayPort 英特尔® Stratix® 10 FPGA IP设计实例用户指南

ID 683887
日期 9/14/2022
Public
文档目录

3.4.3.2.1. 英特尔KEYENC

KEYENC是一个命令行软件实用工具,英特尔使用它来以您提供的128位HDCP保护密钥对HDCP产品密钥进行加密。KEYENC以十六进制或二进制或头文件格式输出加密的HDCP产品密钥。KEYENC还会生成包含您提供的128位HDCP保护密钥的mif文件。KEYDEC需要mif文件。

系统要求:
  1. x86 64位机器使用Windows 10操作系统
  2. Visual Studio 2019(x64)使用Visual C++ Redistributable封装包
注: 您必须为VS 2019安装Microsoft Visual C++。您可以检查是否从Windows > Control Panel > Programs and Features安装了Visual C++ 可发布执行程序( redistributable)。如果安装了Microsoft Visual C++,您可以看到Visual C++ xxxx Redistributable (x64)。否则,您可以从Microsoft网站下载安装Visual C++ Redistributable。请参阅相关信息获得下载链接。
表 32.  KEYENC命令行选项
命令行选项 自变量/描述
-k <HDCP protection key file>

文本文件仅包含128位十六进制HDCP保护密钥。例如:f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff

-hdcp1tx

<HDCP 1.3 TX production keys file>

从DCP (.bin 文件)来的HDCP 1.3发送器产品密钥文件

-hdcp1rx <HDCP 1.3 RX production keys file>

从DCP (.bin文件)来的HDCP 1.3 接收器产品密钥文件

-hdcp2tx <HDCP 2.3 TX production keys file>

从DCP (.bin文件)来的HDCP 2.3发送器产品密钥文件

来的
-hdcp2rx <HDCP 2.3 RX production keys file>

从DCP (.bin文件)来的HDCP 2.3接收器产品密钥文件

-hdcp1txkeys

<HDCP key range>

指定所选输入 (.bin)文件的密钥范围

-hdcp1txkeys|hdcp1rxkeys|hdcp2rxkeys n-m

其中

n = 密钥开始 (1或>1)

m = 密钥结束 (n或>n)

例如:

从每个HDCP 1.3 TX、HDCP 1.3 RX和HCDP 2.3 RX产品密钥文件中选择1到1000个密钥。

“-hdcp1txkeys 1-1000 -hdcp1rxkeys 1-1000 -hdcp2rxkeys 1-1000”

注:
  1. 如果您不使用任何HDCP产品密钥文件,则不需要HDCP密钥范围。如果您未在命令行中使用自变量,则默认密钥范围为0。
  2. 您还可以为HDCP产品密钥文件选择不同的密钥索引。但是,密钥数应与所选选项相匹配。

    例如:选择不同的100格密钥

    从 HDCP 1.3 TX产品密钥文件中选择前100个密钥

    “-hdcp1txkeys 1-100”

    为HDCP 1.3 RX产品密钥文件选择密钥300到400

    “-hdcp1rxkeys 300-400”

    为HDCP 2.3 Rx产品密钥文件选择密 钥600到700

    “-hdcp2rxkeys 600-700”

-hdcp1rxkeys
-hdcp2rxkeys
-o

输出文件格式 <bin|hex|h>。默认为hex文件。

以二进制文件格式生成加密的HDCP产品密钥:-o bin

以十六进制文件格式生成加密的HDCP产品密钥:-o hex

以头(header)文件格式生成加密的HDCP产品密钥:-o h

--check-keys

打印输入文件中可用的密钥数。

例如:

keyenc.exe -hdcp1tx <HDCP 1.3 TX production keys file> -hdcp1rx <HDCP 1.3 RX production keys file> -hdcp2tx <HDCP 2.3 TX production keys file> -hdcp2rx <HDCP 2.3 RX production keys file> --check-keys
注意:请如上述实例中所述来使用参数--,检查命令行末尾的密钥。
--version 打印KEYENC版本号

您可以选择HDCP 1.3和/或HDCP 2.3产品密钥进行加密。例如,要仅使用HDCP 2.3 RX产品密钥进行加密,请在命令行参数中仅使用

-hdcp2rx <HDCP 2.3 RX production keys file> -hdcp2rxkeys <HDCP key range>

表 33.  KEYENC常见错误信息指南
错误消息 指导原则
ERROR: HDCP protection key file missing 缺少命令行参数-k <HDCP protection key file> -k <HDCP protection key file>
ERROR: key should be 32 hex digits (e.g. f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff) HDCP保护密钥文件应仅包含32位十六进制数字的HDCP保护密钥。
ERROR: Please specify the key range 没有为给定的输入HDCP产品密钥文件指定密钥范围。
ERROR: Invalid key range 为-hdcp1txkeys或-hdcp1rxkeys或-hdcp2rxkeys指定的密钥范围不正确。
ERROR: cannot create <Filename> 从正在运行的keyenc.exe检查文件夹权限。
ERROR: -hdcp1txkeys input is invalid HDCP 1.3 TX产品密钥的输入密钥范围格式无效。

正确的格式是 “-hdcp1txkeys n-m” 其中n >= 1, m >= n

ERROR: -hdcp1rxkeys input is invalid HDCP 1.3 RX产品密钥的输入密钥范围格式无效。

正确的格式是 “-hdcp1rxkeys n-m” 其中n >= 1, m >= n

ERROR: -hdcp2rxkeys input is invalid HDCP 2.3 RX产品密钥的输入密钥范围格式无效。

正确的格式是 “-hdcp2rxkeys n-m” 其中n >= 1, m >= n

ERROR: Invalid file <filename> 无效的HDCP产品密钥文件。
ERROR: file type missing for -o option 缺少–o <bin|hex|h>的命令行参数。
ERROR: invalid filename - <filename> <filename>无效,请使用不含特殊字符的有效文件名。

为单个EEPROM加密单个密钥

从Windows命令提示运行以下命令行,以便使用单个EEPROM的头文件输出文件格式加密HDCP 1.3 TX、HDCP 1.3 RX、HDCP 2.3 TX和HDCP 2.3 RX的单个密钥:
keyenc.exe -k <HDCP protection key file> -hdcp1tx <HDCP 1.3 TX production keys file> -hdcp1rx <HDCP 1.3 RX production keys file> -hdcp2tx <HDCP 2.3 TX production keys file> -hdcp2rx <HDCP 2.3 RX production keys file> -hdcp1txkeys 1-1 -hdcp1rxkeys 1-1 -hdcp2rxkeys 1-1 -o h

为N个EEPROM加密N个密钥

从Windows命令提示运行以下命令行以加密HDCP 1.3 TX、HDCP 1.3 RX、HDCP 2.3 TX和HDCP 2.3 RX的N个密钥(从密钥1开始),输出文件格式为N个EEPROM的十六进制文件:
keyenc.exe -k <HDCP protection key file> -hdcp1tx <HDCP 1.3 TX production keys file> -hdcp1rx <HDCP 1.3 RX production keys file> -hdcp2tx <HDCP 2.3 TX production keys file> -hdcp2rx <HDCP 2.3 RX production keys file> -hdcp1txkeys 1-<N> -hdcp1rxkeys 1-<N> -hdcp2rxkeys 1-<N> -o hex 其中
其中N >= 1并且应该匹配所有选项