80 lines
3.1 KiB
Protocol Buffer
80 lines
3.1 KiB
Protocol Buffer
////////////////////////////////////////////////////////////////////////////////
|
|
// Copyright 2016 Google LLC.
|
|
//
|
|
// This software is licensed under the terms defined in the Widevine Master
|
|
// License Agreement. For a copy of this agreement, please contact
|
|
// widevine-licensing@google.com.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Description:
|
|
// Provisioned device info format definitions.
|
|
|
|
syntax = "proto2";
|
|
|
|
package widevine;
|
|
|
|
import "protos/public/device_common.proto";
|
|
|
|
option java_package = "com.google.video.widevine.protos";
|
|
option java_outer_classname = "ProvisionedDeviceInfoProto";
|
|
|
|
|
|
// Contains device model information for a provisioned device.
|
|
message ProvisionedDeviceInfo {
|
|
enum WvSecurityLevel {
|
|
// Defined in Widevine Security Integration Guide for DASH on Android:
|
|
// http://doc/1Zum-fcJeoIw6KG1kDP_KepIE5h9gAZg0PaMtemBvk9c/edit#heading=h.1t3h5sf
|
|
LEVEL_UNSPECIFIED = 0;
|
|
LEVEL_1 = 1;
|
|
LEVEL_2 = 2;
|
|
LEVEL_3 = 3;
|
|
}
|
|
// Widevine initial provisioning / bootstrapping method. DRM certificates are
|
|
// required for retrieving licenses, so if a DRM certificate is not initially
|
|
// provisioned, then the provisioned credentials will be used to provision
|
|
// a DRM certificate via the Widevine Provisioning Service.
|
|
enum ProvisioningMethod {
|
|
// Don't use this.
|
|
PROVISIONING_METHOD_UNSPECIFIED = 0;
|
|
// Factory-provisioned device-unique keybox.
|
|
FACTORY_KEYBOX = 1;
|
|
// Factory-provisioned device-unique OEM certificate.
|
|
FACTORY_OEM_DEVICE_CERTIFICATE = 2;
|
|
// Factory-provisioned model-group OEM certificate.
|
|
FACTORY_OEM_GROUP_CERTIFICATE = 3;
|
|
// Factory-provisioned model-group DRM certificate (Level-3 "baked in").
|
|
FACTORY_DRM_GROUP_CERTIFICATE = 4;
|
|
// OTA-provisioned keybox (Level-1 ARC++).
|
|
OTA_KEYBOX = 5;
|
|
// OTA-provisioned device-unique OEM certificate.
|
|
OTA_OEM_DEVICE_CERTIFICATE = 6;
|
|
// OTA-provisioned model-group OEM certificate.
|
|
OTA_OEM_GROUP_CERTIFICATE = 7;
|
|
// OTA-provisioned device-unique DRM certificate (Bedrock).
|
|
OTA_DRM_DEVICE_CERTIFICATE = 8;
|
|
}
|
|
|
|
// Widevine system ID for the device. Mandatory.
|
|
optional uint32 system_id = 1;
|
|
// Name of system-on-a-chip. Optional.
|
|
optional string soc = 2;
|
|
// First registered manufacturer. Optional.
|
|
optional string manufacturer = 3;
|
|
// First registered manufacturer's model name. Matches "brand" in device
|
|
// metadata. Optional.
|
|
optional string model = 4;
|
|
// First registered type of device (Phone, Tablet, TV, etc).
|
|
optional string device_type = 5;
|
|
// First registered device model year. Optional.
|
|
optional uint32 model_year = 6;
|
|
// Widevine-defined security level. Optional.
|
|
optional WvSecurityLevel security_level = 7 [default = LEVEL_UNSPECIFIED];
|
|
// True if the certificate corresponds to a test (non production) device.
|
|
// Optional.
|
|
optional bool test_device = 8 [default = false];
|
|
// Indicates the type of device root of trust which was factory provisioned.
|
|
optional ProvisioningMethod provisioning_method = 9;
|
|
// A list of ModelInfo using the same system_id.
|
|
repeated DeviceModel model_info = 10;
|
|
}
|