HDMI Intel® Stratix 10 FPGA IP设计示例用户指南

ID 683701
日期 11/12/2021
Public
文档目录

4.3.3.2.1. Intel KEYENC

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

系统要求:
  1. 基于Windows 10操作系统的x86 64位机
  2. 用于Visual Studio 2019(x64) 的Visual C++ Redistributable软件包
注: 您必须为VS 2019安装Microsoft Visual C++。 您可以检查Visual C++ redistributable软件包是否从Windows > Control Panel > Programs and Features进行安装的。如果安装了Microsoft Visual C++,那么您可以看到Visual C++ xxxx Redistributable (x64)。否则,您可以从Microsoft网站上下载并安装Visual C++ Redistributable。关于下载链接,请参考相关信息。
表 53.  KEYENC命令行选项
命令行选项 参数/描述
-k <HDCP protection key file>

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

-hdcp1tx

<HDCP 1.4 TX production keys file>

来自DCP的HDCP 1.4发送器产品秘钥文件(.bin文件)

-hdcp1rx <HDCP 1.4 RX production keys file>

来自DCP的HDCP 1.4接收器产品秘钥文件(.bin文件)

-hdcp2tx <HDCP 2.3 TX production keys file>

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

-hdcp2rx <HDCP 2.3 RX production keys file>

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

-hdcp1txkeys

<HDCP key range>

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

-hdcp1txkeys|hdcp1rxkeys|hdcp2rxkeys n-m

其中:

n = key start (1 or >1)

m = key end (n or >n)

示例:

从每个HDCP 1.4 TX,HDCP 1.4 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.4 TX产品秘钥文件选择前100个秘钥

    “-hdcp1txkeys 1-100”

    对HDCP 1.4 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.4 TX production keys file> -hdcp1rx <HDCP 1.4 RX production keys file> -hdcp2tx <HDCP 2.3 TX production keys file> -hdcp2rx <HDCP 2.3 RX production keys file> --check-keys
请注意:如上例所述,在命令行的末尾使用参数--check-keys。
--version 打印KEYENC版本号

您可以选择HDCP 1.4和/或HDCP 2.3产品秘钥进行加密。例如,若只使用HDCP 2.3 RX产品秘钥进行加密,那么在命令行参数中只使用 -hdcp2rx <HDCP 2.3 RX production keys file> -hdcp2rxkeys <HDCP key range>

表 54.  KEYENC常见错误消息指南
错误消息 指南
ERROR: HDCP protection key file missing 缺失命令行参数-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.4 TX产品秘钥的输入秘钥范围的格式是无效的。

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

ERROR: -hdcp1rxkeys input is invalid HDCP 1.4 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命令提示符运行以下命令行以使用头(header)输出文件格式对单个EEPROM加密HDCP 1.4 TX、HDCP 1.4 RX、HDCP 2.3 TX和HDCP 2.3 RX的单个密钥:
keyenc.exe -k <HDCP protection key file> -hdcp1tx <HDCP 1.4 TX production keys file> -hdcp1rx <HDCP 1.4 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命令提示符运行以下命令行以使用十六进制输出文件格式对N个EEPROM加密HDCP 1.4 TX、HDCP 1.4 RX、HDCP 2.3 TX和HDCP 2.3 RX的N个密钥:
keyenc.exe -k <HDCP protection key file> -hdcp1tx <HDCP 1.4 TX production keys file> -hdcp1rx <HDCP 1.4 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,并且应该在所有选项中匹配。