provision_drm_key

Source code: provision_drm_key.py

Provision Widevine keybox to the VPD.

Description

This test implements the “OEM provisioning application” defined in go/spriggins-factory-provision.

Test Procedure

This is an automatic test that doesn’t need any user interaction.

This test does the following procedures:

  1. Get the SoC serial number and SoC model ID via OEMCrypto API.

  2. Read the Widevine keybox from the factory device data.

  3. Verify the keybox with the checksum.

  4. Encrypt the keybox with the transport key.

  5. Pass the keybox to OEMCrypto TA to get an encrypted keybox.

  6. Compute the CRC32 code of the encrypted keybox for checking the keybox validity in RMA.

  7. Write the encrypted keybox along with the CRC32 code to VPD.

Dependency

  • OEMCrypto API

Examples

To read the keybox from the factory device data:

{
  "pytest_name": "provision_drm_key"
}

Test Arguments

This test does not have any arguments.