Widevine SDK Release Branch: beta-19.10.1

This commit is contained in:
Buildbot
2025-05-29 12:21:32 -07:00
parent b31fb00c1a
commit 8349b5bc0f
219 changed files with 101122 additions and 0 deletions

View File

@@ -0,0 +1,232 @@
////////////////////////////////////////////////////////////////////////////////
//// Copyright 2017 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 = "proto2";
package video_widevine;
import "protos/public/hash_algorithm.proto";
import "protos/public/provisioned_device_info.proto";
option java_outer_classname = "DeviceCertificateStatusProtos";
option java_package = "com.google.video.widevine.protos";
message DeviceCertificateStatus {
reserved 8;
enum DeprecatedStatus {
DEPRECATED_VALID = 0;
DEPRECATED_REVOKED = 1;
}
enum Status {
STATUS_UNKNOWN = 0;
STATUS_IN_TESTING = 10;
STATUS_RELEASED = 20;
STATUS_TEST_ONLY = 30;
STATUS_REVOKED = 40;
}
message RevokedIdentifiers {
repeated bytes revoked_certificate_serial_numbers = 1;
repeated bytes revoked_unique_id_hashes = 2;
}
optional bytes drm_serial_number = 1;
optional DeprecatedStatus deprecated_status = 2 [default = DEPRECATED_VALID];
optional ProvisionedDeviceInfo device_info = 4;
optional bytes oem_serial_number = 5;
optional Status status = 6 [default = STATUS_UNKNOWN];
optional RevokedIdentifiers revoked_identifiers = 7;
}
message ImpactAnalysisReport {
message ImpactAnalysis {
enum DeviceStatusOperation {
DEVICE_STATUS_OPERATION_UNSPECIFIED = 0;
DEVICE_STATUS_UPDATE = 1;
DEVICE_STATUS_REVOKE = 2;
DEVICE_STATUS_INDIVIDUAL_DEVICE_REVOKE = 3;
DEVICE_STATUS_REMOVED = 4;
}
enum DeviceStatusImpact {
DEVICE_STATUS_IMPACT_UNSPECIFIED = 0;
DEVICE_STATUS_IMPACT_NONE = 1;
DEVICE_STATUS_IMPACT_LOW = 2;
DEVICE_STATUS_IMPACT_MEDIUM = 3;
DEVICE_STATUS_IMPACT_HIGH = 4;
DEVICE_STATUS_IMPACT_UNABLE_TO_OBTAIN = 5;
}
enum DeviceCertificateStatusMetadataOperation {
DEVICE_CERTIFICATE_STATUS_METADATA_OPERATION_UNSPECIFIED = 0;
DEVICE_CERTIFICATE_STATUS_METADATA_OPERATION_UPDATE = 1;
DEVICE_CERTIFICATE_STATUS_METADATA_OPERATION_REMOVE = 2;
DEVICE_CERTIFICATE_STATUS_METADATA_OPERATION_ADD = 3;
}
message DeviceCertificateStatusMetadataFieldUpdates {
optional string metadata_field_name = 1;
optional DeviceCertificateStatusMetadataOperation metadata_operation = 2;
}
message DeviceCertificateStatusDelta {
repeated string delta = 1;
}
message ImpactAnalysisMetrics {
optional float impact_value = 1;
optional uint64 number_of_requests = 2;
optional uint32 request_duration_days = 3;
}
optional uint32 system_id = 1;
optional DeviceStatusImpact impact = 2;
optional DeviceStatusOperation operation = 3;
optional uint32 operation_time_seconds = 4;
optional ImpactAnalysisMetrics impact_analysis_metrics = 5;
optional DeviceCertificateStatus.RevokedIdentifiers
newly_revoked_identifiers = 6;
repeated DeviceCertificateStatusMetadataFieldUpdates
metadata_field_updates = 7;
optional DeviceCertificateStatusDelta device_certificate_status_delta = 8;
}
optional uint32 prev_dcsl_creation_time_seconds = 1;
repeated ImpactAnalysis impact_analysis = 2;
}
message DeviceCertificateStatusList {
optional uint32 creation_time_seconds = 1;
repeated DeviceCertificateStatus certificate_status = 2;
optional ImpactAnalysisReport impact_analysis_report = 3;
}
message PublishedDevicesList {
optional uint32 creation_time_seconds = 1;
repeated DeviceCertificateStatus device_certificate_status = 2;
optional ImpactAnalysisReport impact_analysis_report = 3;
}
message SignedDeviceCertificateStatusList {
optional bytes certificate_status_list = 1;
optional bytes signature = 2;
optional HashAlgorithmProto hash_algorithm = 3;
}
message DeviceStatusOptions {
optional bool allow_unknown_system_id = 1 [default = false];
optional bool allow_revoked_system_id = 2 [default = false];
optional bool allow_test_only_system_id = 3 [default = false];
optional bool allow_pre_release_system_id = 4 [default = true];
optional bool allow_revoked_individual_device = 5 [default = false];
}

View File

@@ -0,0 +1,405 @@
////////////////////////////////////////////////////////////////////////////////
//// 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"];
}

View File

@@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////////////////
//// 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;
enum HashAlgorithmProto {
HASH_ALGORITHM_UNSPECIFIED = 0;
HASH_ALGORITHM_SHA_1 = 1;
HASH_ALGORITHM_SHA_256 = 2;
HASH_ALGORITHM_SHA_384 = 3;
}

View File

@@ -0,0 +1,102 @@
////////////////////////////////////////////////////////////////////////////////
//// 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.
////////////////////////////////////////////////////////////////////////////////
syntax = "proto2";
package video_widevine;
import "protos/public/device_common.proto";
option java_package = "com.google.video.widevine.protos";
option java_outer_classname = "ProvisionedDeviceInfoProto";
message ProvisionedDeviceInfo {
enum WvSecurityLevel {
LEVEL_UNSPECIFIED = 0;
LEVEL_1 = 1;
LEVEL_2 = 2;
LEVEL_3 = 3;
}
enum ProvisioningMethod {
PROVISIONING_METHOD_UNSPECIFIED = 0;
FACTORY_KEYBOX = 1;
FACTORY_OEM_DEVICE_CERTIFICATE = 2;
FACTORY_OEM_GROUP_CERTIFICATE = 3;
FACTORY_DRM_GROUP_CERTIFICATE = 4;
OTA_KEYBOX = 5;
OTA_OEM_DEVICE_CERTIFICATE = 6;
OTA_OEM_GROUP_CERTIFICATE = 7;
OTA_DRM_DEVICE_CERTIFICATE = 8;
OTA_OEM_DEVICE_CERTIFICATE_SIGMA_210 = 9;
OTA_ANDROID_ATTESTATION_KEYBOX = 10;
OTA_OEM_DEVICE_CERTIFICATE_PROVISIONING_4 = 11;
OTA_DRM_DEVICE_CERTIFICATE_DRM_REPROVISIONING = 12;
}
optional uint32 system_id = 1;
optional string soc = 2;
optional string manufacturer = 3;
optional string model = 4;
optional string device_type = 5;
optional uint32 model_year = 6;
optional WvSecurityLevel security_level = 7 [default = LEVEL_UNSPECIFIED];
optional bool test_device = 8 [default = false];
optional ProvisioningMethod provisioning_method = 9;
repeated DeviceModel model_info = 10;
optional Platform platform = 11;
optional DeviceState device_state = 12;
optional VulnerabilityLevel vulnerability_level = 13;
optional VerificationLevel verification_level = 14;
optional uint32 provider_key_version = 15;
optional bytes public_key_encryption_key = 16
;
optional CertificateKeyType certificate_key_type = 17;
}