Files
wvpl_license_sdk/ubuntu_arm64/protos/public/device_certificate_status.proto
2025-05-29 12:30:32 -07:00

233 lines
4.7 KiB
Protocol Buffer

////////////////////////////////////////////////////////////////////////////////
//// 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];
}