Hi @i_MX51
Please offer me more details to provide R&D team
Q1: I want to ask, when setting USE_TEST_KBOX=true, whether to write a set of preset KEYBOX, then can the SECURITY LEVEL be increased from 1 to 3, but after I set it, check DRM INFO or LEVEL3, DRMINFO shows that the security LEVEL is L3; do you want to change the setting such as LEVEL1?
>> R&D. Did they ask Widevine to provide them L1 Keybox ? Then they have to install L1 production keybox into the rpmb partitition, then device will be seen as L1.
Q2: On the device, from the apk of DRM INFO, it is currently LEVEL 3. From Exoplayer to play the video a.Widevine DASH b.Clear Content, but the PlayReady category cannot be played, and it displays (This device does not support required DRM scheme)
>> R&D. The PlayReady DRM is not supported by the package AEROVISION AVIONICS,INC requested (they asked for Widevine only). To get PlayReady, they have to be PlayReady licensee, then do the request to NXP to get the package.
Q3: To run LEVEL1, is the setting of 1-7 points correct?
- CFG_RDC_SECURE_DATA_PATH=y
- CFG_DRM_SECURE_DATA_PATH=y
- CFG_SECURE_HANTRO_VPU=n
- CFG_RPMB_WRITE_KEY=y
- CFG_RPMB_FS=y
- CFG_OBFUSCATION=y
- USE_TEST_KBOX=true
>> R&D :
CFG_RPMB_WRITE_KEY=y shall be used only during Widevine L1 Keybox provisioning, then set to CFG_RPMB_WRITE_KEY=n. Write the RPMB key is a One Time Operation, based on fuse. So when done one time, no need to be redo.
USE_TEST_KBOX shall be set to false to take into account the L1 Keybox, after keybox provisioning has been done.
Q4: The following debug message continues to appear, is it normal?
[2714.496560] libprocessgroup: Successfully killed process cgroup uid 1000 pid 5367 in 0ms
[2719.381734] init: starting service'vendor.keymaster-3-0-optee'...
[2719.422030] init: Service'vendor.keymaster-3-0-optee' (pid 5368) exited with status 255
[2719.430250] init: Sending signal 9 to service'vendor.keymaster-3-0-optee' (pid 5368) process group...
>> R&D: looks like keymaster is not able to start. Did they perform Android attestation provisioning ( page 33 of document: provisioning -a rsa,name=dev1_key_rsa.enc,nonce=5c766f3667ca0c,tag=1200918318e0bcf8d3ef93994f4dfb7a)
The script we will share will also take care of Android Attestation key provisioning, but they should have received Android attestation keys from Google. There is no link with Widevine L1 and Android attestation key. Attestation key are Android only related,
If they did keymaster provisioning then could you ask then to enable OPTEE log and keymaster TA log.
- Edit android_build/device/fsl/imx8m/optee-packages.mk, then PTEE_EXTRA_FLAGS ?= CFG_TEE_CORE_LOG_LEVEL=3 CFG_TEE_TA_LOG_LEVEL=1 DEBUG=1
- Edit android_build/external/kmgk/keymaster/ta/Makefile CFG_TEE_TA_LOG_LEVEL ?= 3
Q5:On page 16 of this document, Widevine API to install a new keybox How to put the keybox under the BSP, the instructions on the document are not very clear. Can you provide a better document description file?
>> R&D:
They have to use the script xml2bin.py located in android_build/external/optee-widevine-ref/xml2bin.py to generate wv_key.bin. It is to convert the xlm file they should have received from Widevine.
Then all the commands are provided in the document. If they execute the command one by one, it should work. wv_key.enc wv_nonce.bin wv_tag.bin are generated by the python script, and the code is part of the document.
evk_8mq:/ # cd /data
evk_8mq:/data # su
evk_8mq:/data # provisioning -p mp.bin
evk_8mq:/data # ls -al mp.bin
---------- 1 root root 32 2019-02-15 07:45 mp.bin
evk_8mq:/data # adb pull /data/mp.bin .
evk_8mq:/python aes-256-ccm-enc.py mp.bin wv_key.bin wv_key.enc wv_nonce.bin wv_tag.bin
We did a script
Q6:The following command provisioning -w name=wv_key.enc, nonce=168c50b0e99c56,tag=340143bdbe4b1cf425bfd9c6de0dda51, where did wv_key.enc come from?
>> R&D: Did they follow the Usage example page 20 ? wv_key.enc is generated by the python script provided page 21.
Best Regards,