#define USE_EEPROM_HDCP_KEYS is undefined
HDCP 1.3 Key Management
The application software does not use the raw HDCP 1.3 keys directly. To use the HDCP 1.3 keys, they must be first encrypted and then added into the application. This is a manual process. The section provides the scripts and software to help you encrypt the HDCP 1.3 keys.
Using the Encryption Software
- 32-byte AES key
- Valid HDCP 1.3 keys
- Unzip the project and navigate to the hdcp_util/keys directory. This is where the encryption block is located.
- Modify the DefaultKey array in the hdcp_util/keys/key-encryptor/common/src/keyfile.c file to a user specified 32-byte unique key. This is the 32-byte AES key mentioned in step 1.
- Navigate to the hdcp_util/keys/key-encryptor/build/linux
folder and execute the following command from linux terminal
../build.shThis creates hdcp-enc.bin file in the same folder.
- From the same directory, execute the following command to create the AES
keymgmt_data.c. ./hdcp-enc.bin -c devb1_keys.dat devb2_keys.dat …. devb_keys.datNote: The user-provided devb_keys.dat file is expected to have only one original HDCP key. An original HDCP key has one 5-byte Key Selection Vector and 40 private keys. If you have multiple HDCP 1.3 keys, each key should be housed exclusively in one .dat file. The AES encrypted HDCP key block is now created as an array in the keymgmt_data.c file.
- Ensure that the following AES keys in the reference design matches with the keys
in step 2.
\**zcu102_system_directly**\**sw_directly**\src\keys.cThe HDCP 1.3 keys are now encrypted and ready to be used.
- Replace the dummy 32-byte AES keys in the DefaultKey array of the example design application's source file src/keymgmt_keyfile.c with the keys mentioned in step 2.
- Replace the dummy AES encrypted HDCP keys in the KEYMGMT_ENCDATA array of the example design application's source file src/keys.c with the encrypted keys generated in step 5.
HDCP 2.x Key Management
- Populate the 128-bit global constant LC128 keys in the XHdcp22Lc128 array of the keys.c file. Replace zeros in the array with the LC128 keys.
- Populate the HDCP 2.x RX private keys in the XHdcp22RxPrivateKey array of the keys.c file. Replace the zeros in the array with RX private keys
- Populate the System Renewability Revoke Check Message (SRM) keys in the Hdcp22Srm array of the keys.c file. Replace the zeros in the array with the SRM keys.