Files
wvpl_license_sdk/ubuntu/protos/public/device_common.proto
2025-05-29 11:40:40 -07:00

406 lines
7.8 KiB
Protocol Buffer

////////////////////////////////////////////////////////////////////////////////
//// Copyright 2020 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.
////////////////////////////////////////////////////////////////////////////////
//
syntax = "proto3";
package video_widevine;
import "google/protobuf/descriptor.proto";
option java_package = "com.google.video.widevine.protos";
message DeviceModel {
enum ModelStatus {
MODEL_STATUS_UNSPECIFIED = 0;
MODEL_STATUS_VERIFIED = 1;
MODEL_STATUS_UNVERIFIED = 2;
MODEL_STATUS_UNKNOWN = 4;
MODEL_STATUS_REJECTED = 3;
}
message ModelStatistics {
double percent_license_requests_last_7_days = 1;
double percent_license_requests_last_30_days = 2;
double percent_license_requests_last_90_days = 3;
}
string manufacturer = 1;
string model_name = 2;
uint32 model_year = 3;
ModelStatus status = 4;
ModelStatistics model_statistics = 5;
}
//
//
//
//
enum DeviceState {
DEVICE_STATE_UNKNOWN = 0;
IN_TESTING = 1;
RELEASED = 2;
DELETED = 3;
TEST_ONLY = 4;
REVOKED = 5;
PRE_RELEASE = 6;
REVOKED_LICENSING = 7;
}
enum DeviceType {
DEVICE_TYPE_UNSPECIFIED = 0;
DEVICE_TYPE_PHONE = 1;
DEVICE_TYPE_TV = 2;
DEVICE_TYPE_TABLET = 3;
DEVICE_TYPE_GAMING_CONSOLE = 4;
DEVICE_TYPE_SET_TOP_BOX = 5;
DEVICE_TYPE_VIDEO_DONGLE = 6;
DEVICE_TYPE_PC = 7;
DEVICE_TYPE_AUTO = 8;
DEVICE_TYPE_WEARABLE = 9;
DEVICE_TYPE_CONNECTED_AUDIO_DEVICE = 10;
DEVICE_TYPE_SMART_DISPLAY = 11;
DEVICE_TYPE_SOC = 12;
DEVICE_TYPE_OTHER = 13;
DEVICE_TYPE_HEADSET = 14;
}
enum Platform {
PLATFORM_UNSPECIFIED = 0;
PLATFORM_CHROMECAST = 1;
PLATFORM_FUCHSIA = 2;
PLATFORM_IOS = 3;
PLATFORM_IPAD_OS = 4;
PLATFORM_TV_OS = 5;
PLATFORM_ANDROID = 6;
PLATFORM_WINDOWS = 7;
PLATFORM_CHROME_OS = 8;
PLATFORM_MAC_OS = 9;
PLATFORM_LINUX = 10;
PLATFORM_WEB_OS = 11;
PLATFORM_TIZEN = 12;
PLATFORM_FIRE_OS = 13;
PLATFORM_ROKU = 14;
PLATFORM_PLAYSTATION = 15;
PLATFORM_XBOX = 16;
PLATFORM_KAIOS = 17;
PLATFORM_RDK = 18;
PLATFORM_OTHER = 19;
}
enum OsOptionalSupport {
OS_OPTIONAL_SUPPORT_UNSPECIFIED = 0;
YES_TEE = 1;
YES_REE = 2;
NO_SUPPORT = 3;
}
enum HdcpVersion {
HDCP_VERSION_UNSPECIFIED = 0;
HDCP_V1 = 1;
HDCP_V2 = 2;
HDCP_V2_1 = 3;
HDCP_V2_2 = 4;
HDCP_V2_3 = 5;
HDCP_V1_0 = 6;
HDCP_V1_1 = 7;
HDCP_V1_2 = 8;
HDCP_V1_3 = 9;
HDCP_V1_4 = 10;
}
enum DeviceSecurityLevel {
SECURITY_LEVEL_UNSPECIFIED = 0;
LEVEL_1 = 1;
LEVEL_2 = 2;
LEVEL_3 = 3;
}
enum CertificateKeyType {
CERTIFICATE_KEY_TYPE_UNSPECIFIED = 0;
CERTIFICATE_KEY_TYPE_RSA = 1;
CERTIFICATE_KEY_TYPE_RSA_EULER = 2;
CERTIFICATE_KEY_TYPE_EC = 3;
}
enum KeyboxVersion {
KEYBOX_VERSION_UNSPECIFIED = 0;
KEYBOX_VERSION_2 = 2;
KEYBOX_VERSION_3 = 3;
KEYBOX_VERSION_2_OR_3 = 4;
KEYBOX_VERSION_4 = 5;
}
enum RSAKeySize {
RSA_KEY_SIZE_UNSPECIFIED = 0;
RSA_KEY_SIZE_1024 = 1;
RSA_KEY_SIZE_2048 = 2;
RSA_KEY_SIZE_3072 = 3;
RSA_KEY_SIZE_4096 = 4;
}
enum VulnerabilityLevel {
VULNERABILITY_LEVEL_UNSPECIFIED = 0;
VULNERABILITY_LEVEL_NONE = 1;
VULNERABILITY_LEVEL_LOW = 2;
VULNERABILITY_LEVEL_MEDIUM = 3;
VULNERABILITY_LEVEL_HIGH = 4;
VULNERABILITY_LEVEL_CRITICAL = 5;
}
message VulnerabilityInfo {
string description = 1;
uint64 buganizer_number = 2;
VulnerabilityLevel vulnerability_level = 3;
}
enum VerificationLevel {
VERIFICATION_LEVEL_UNSPECIFIED = 0;
VERIFICATION_LEVEL_UNVERIFIED = 1;
VERIFICATION_LEVEL_VERIFIED = 2;
VERIFICATION_LEVEL_VERIFIED_GTS = 3;
}
message VerificationInfo {
VerificationLevel level = 1;
string proof = 2;
string notes = 3;
}
message AndroidAttestationKeybox {
bytes ecdsa_private_key = 1;
repeated bytes ecdsa_cert = 2;
bytes rsa_private_key = 3;
repeated bytes rsa_cert = 4;
uint32 attestation_keybox_id = 5;
}
enum AttestationMethod {
ATTESTATION_METHOD_UNSPECIFIED = 0;
ATTESTATION_METHOD_KEY_UPLOAD = 1;
ATTESTATION_METHOD_VERIFIER_KEY = 2;
}
extend google.protobuf.EnumValueOptions {
string string_name = 123456789;
}
enum OemCryptoVersion {
OEM_CRYPTO_V_UNKNOWN = 0 [(string_name) = "unknown"];
OEM_CRYPTO_V9 = 1 [(string_name) = "9"];
OEM_CRYPTO_V10 = 2 [(string_name) = "10"];
OEM_CRYPTO_V10_1 = 3 [(string_name) = "10.1"];
OEM_CRYPTO_V10_2 = 4 [(string_name) = "10.2"];
OEM_CRYPTO_V10_3 = 5 [(string_name) = "10.3"];
OEM_CRYPTO_V11 = 6 [(string_name) = "11"];
OEM_CRYPTO_V11_1 = 7 [(string_name) = "11.1"];
OEM_CRYPTO_V11_2 = 8 [(string_name) = "11.2"];
OEM_CRYPTO_V12 = 9 [(string_name) = "12"];
OEM_CRYPTO_V13 = 10 [(string_name) = "13"];
OEM_CRYPTO_V13_1 = 11 [(string_name) = "13.1"];
OEM_CRYPTO_V13_2 = 12 [(string_name) = "13.2"];
OEM_CRYPTO_V14 = 13 [(string_name) = "14"];
OEM_CRYPTO_V14_1 = 14 [(string_name) = "14.1"];
OEM_CRYPTO_V15 = 15 [(string_name) = "15"];
OEM_CRYPTO_V15_1 = 16 [(string_name) = "15.1"];
OEM_CRYPTO_V15_2 = 17 [(string_name) = "15.2"];
OEM_CRYPTO_V16 = 18 [(string_name) = "16"];
OEM_CRYPTO_V16_1 = 19 [(string_name) = "16.1"];
OEM_CRYPTO_V16_2 = 20 [(string_name) = "16.2"];
OEM_CRYPTO_V16_3 = 21 [(string_name) = "16.3"];
OEM_CRYPTO_V16_4 = 22 [(string_name) = "16.4"];
OEM_CRYPTO_V17 = 23 [(string_name) = "17"];
OEM_CRYPTO_V17_1 = 24 [(string_name) = "17.1"];
OEM_CRYPTO_V17_1_1 = 25 [(string_name) = "17.1.1"];
OEM_CRYPTO_V18 = 26 [(string_name) = "18"];
OEM_CRYPTO_V18_1 = 27 [(string_name) = "18.1"];
OEM_CRYPTO_V18_3 = 28 [(string_name) = "18.3"];
OEM_CRYPTO_V18_4 = 29 [(string_name) = "18.4"];
OEM_CRYPTO_V18_5 = 30 [(string_name) = "18.5"];
OEM_CRYPTO_V19 = 31 [(string_name) = "19"];
OEM_CRYPTO_V19_1 = 32 [(string_name) = "19.1"];
OEM_CRYPTO_V19_2 = 33 [(string_name) = "19.2"];
OEM_CRYPTO_V19_3 = 34 [(string_name) = "19.3"];
OEM_CRYPTO_V19_4 = 35 [(string_name) = "19.4"];
OEM_CRYPTO_V19_5 = 36 [(string_name) = "19.5"];
OEM_CRYPTO_V19_6 = 37 [(string_name) = "19.6"];
OEM_CRYPTO_V19_7 = 38 [(string_name) = "19.7"];
OEM_CRYPTO_V20_0 = 39 [(string_name) = "20.0"];
OEM_CRYPTO_V20_1 = 40 [(string_name) = "20.1"];
OEM_CRYPTO_V17_2 = 41 [(string_name) = "17.2"];
OEM_CRYPTO_V17_4 = 42 [(string_name) = "17.4"];
OEM_CRYPTO_V18_6 = 43 [(string_name) = "18.6"];
OEM_CRYPTO_V17_5 = 44 [(string_name) = "17.5"];
OEM_CRYPTO_V18_7 = 45 [(string_name) = "18.7"];
OEM_CRYPTO_V17_6 = 46 [(string_name) = "17.6"];
OEM_CRYPTO_V18_8 = 47 [(string_name) = "18.8"];
OEM_CRYPTO_V17_7 = 48 [(string_name) = "17.7"];
OEM_CRYPTO_V18_9 = 49 [(string_name) = "18.9"];
}
enum AndroidPlatform {
ANDROID_PLATFORM_UNSPECIFIED = 0 [(string_name) = "unknown"];
ANDROID_PLATFORM_MOBILE = 1 [(string_name) = "Mobile"];
ANDROID_PLATFORM_TV = 2 [(string_name) = "TV"];
ANDROID_PLATFORM_AUTO = 3 [(string_name) = "Auto"];
ANDROID_PLATFORM_WEAR = 4 [(string_name) = "Wear"];
}
enum AndroidApiLevel {
ANDROID_API_LEVEL_UNSPECIFIED = 0 [(string_name) = "unknown"];
ANDROID_API_LEVEL_26 = 1 [(string_name) = "API 26/Android 8"];
ANDROID_API_LEVEL_27 = 2 [(string_name) = "API 27/Android 8"];
ANDROID_API_LEVEL_28 = 3 [(string_name) = "API 28/Android 9"];
ANDROID_API_LEVEL_29 = 4 [(string_name) = "API 29/Android 10"];
ANDROID_API_LEVEL_30 = 5 [(string_name) = "API 30/Android 11"];
ANDROID_API_LEVEL_31 = 6 [(string_name) = "API 31/Android 12"];
ANDROID_API_LEVEL_32 = 7 [(string_name) = "API 32/Android 12L"];
ANDROID_API_LEVEL_33 = 8 [(string_name) = "API 33/Android 13"];
ANDROID_API_LEVEL_34 = 9 [(string_name) = "API 34/Android 14"];
ANDROID_API_LEVEL_35 = 10 [(string_name) = "API 35/Android 15"];
ANDROID_VERSION_V16 = 11 [(string_name) = "Android 16"];
}