Widevine SDK Release Branch: beta-19.10.1

This commit is contained in:
Buildbot
2025-05-29 12:30:32 -07:00
parent 8349b5bc0f
commit 45627b07f2
181 changed files with 97621 additions and 0 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,56 @@
########################################
## Copyright 2019 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.
########################################
# Published Devices protocol buffer definitions for the
# Widevine Published Devices One Platform API service.
package(default_visibility = ["//visibility:public"])
load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
proto_library(
name = "published_devices_proto",
srcs = ["published_devices.proto"],
deps = [
":device_security_profiles_proto",
"@com_github_googleapis_googleapis//google/api:annotations_proto",
"@com_github_googleapis_googleapis//google/api:field_behavior_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
proto_library(
name = "device_security_profiles_proto",
srcs = ["device_security_profiles.proto"],
deps = [
"@com_github_googleapis_googleapis//google/api:field_behavior_proto",
],
)
cc_proto_library(
name = "published_devices_cc_proto",
deps = [":published_devices_proto"],
)
java_proto_library(
name = "published_devices_java_proto",
deps = [":published_devices_proto"],
)
java_grpc_library(
name = "published_devices_grpc",
srcs = [":published_devices_proto"],
deps = [
":published_devices_java_proto",
],
)
java_proto_library(
name = "device_security_profiles_java_proto",
deps = [":device_security_profiles_proto"],
)

View File

@@ -0,0 +1,108 @@
////////////////////////////////////////////////////////////////////////////////
//// 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 google.chrome.widevine.contentpartners.v1beta1;
import "google/api/field_behavior.proto";
option java_multiple_files = true;
option java_outer_classname = "DeviceSecurityProfilesProto";
option java_package = "com.google.chrome.widevine.contentpartners.v1beta1";
message DeviceSecurityProfileCriteria {
string content_provider = 1 [
(google.api.field_behavior) = REQUIRED
];
repeated string content_owners = 2 [(google.api.field_behavior) = OPTIONAL];
}
message ListDeviceSecurityProfilesRequest {
DeviceSecurityProfileCriteria device_security_profile_criteria = 1 [
(google.api.field_behavior) = REQUIRED
];
}
message SignedDeviceSecurityProfiles {
bytes device_security_profiles = 1 [(google.api.field_behavior) = REQUIRED];
bytes signature = 2 [(google.api.field_behavior) = REQUIRED];
HashAlgorithm hash_algorithm = 3 [(google.api.field_behavior) = OPTIONAL];
}
message ListDeviceSecurityProfilesResponse {
SignedDeviceSecurityProfiles signed_device_security_profiles = 1
[(google.api.field_behavior) = REQUIRED];
}
enum HashAlgorithm {
HASH_ALGORITHM_UNSPECIFIED = 0;
HASH_ALGORITHM_SHA_1 = 1;
HASH_ALGORITHM_SHA_256 = 2;
HASH_ALGORITHM_SHA_384 = 3;
}

View File

@@ -0,0 +1,188 @@
////////////////////////////////////////////////////////////////////////////////
//// Copyright 2019 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 google.chrome.widevine.contentpartners.v1beta1;
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/chrome/widevine/contentpartners/v1beta1/device_security_profiles.proto";
import "google/protobuf/timestamp.proto";
option csharp_namespace = "Google.Chrome.Widevine.ContentPartners.V1Beta1";
option java_multiple_files = true;
option java_outer_classname = "PublishedDevicesProtos";
option java_package = "com.google.chrome.widevine.contentpartners.v1beta1";
option objc_class_prefix = "GCWPD";
service PublishedDevicesService {
rpc GetPublishedDevices(PublishedDevicesRequest) returns (PublishedDevices) {
option (google.api.http) = {
post: "/v1beta1/publishedDevices:getSignedBatch"
body: "*"
};
}
rpc RetrieveIndividualDeviceRevocationList(
RetrieveIndividualDeviceRevocationListRequest)
returns (RetrieveIndividualDeviceRevocationListResponse) {
option (google.api.http) = {
post: "/v1beta1/individualDeviceRevocationList:retrieve"
body: "*"
};
}
rpc ListDeviceSecurityProfiles(ListDeviceSecurityProfilesRequest)
returns (ListDeviceSecurityProfilesResponse) {
option (google.api.http) = {
get: "/v1beta1/deviceSecurityProfiles:listDeviceSecurityProfiles"
};
}
}
message SdkClientInformation {
string sdk_version = 1;
uint64 sdk_time_seconds = 2;
bytes service_certificate = 3;
string provider = 4;
}
message PublishedDevicesRequest {
bytes sdk_client_information = 1;
bytes signature = 2;
HashAlgorithm hash_algorithm = 3 [(google.api.field_behavior) = OPTIONAL];
DcslSnapshotType dcsl_snapshot_type = 4
[(google.api.field_behavior) = OPTIONAL];
google.protobuf.Timestamp last_dcsl_epoch_time = 5
[(google.api.field_behavior) = OPTIONAL];
bool include_impact_analysis = 6 [(google.api.field_behavior) = OPTIONAL];
}
message PublishedDevices {
bytes published_devices = 1;
bytes signature = 2;
HashAlgorithm hash_algorithm = 3 [(google.api.field_behavior) = OPTIONAL];
DcslSnapshotType dcsl_snapshot_type = 4
[(google.api.field_behavior) = OPTIONAL];
}
message RetrieveIndividualDeviceRevocationListRequest {
string provider = 1 [
(google.api.field_behavior) = REQUIRED
];
}
message RetrieveIndividualDeviceRevocationListResponse {
bytes global_individual_device_revocation_list = 1
[(google.api.field_behavior) = REQUIRED];
bytes provider_individual_device_revocation_list = 2
[(google.api.field_behavior) = OPTIONAL];
}
enum DcslSnapshotType {
DCSL_SNAPSHOT_TYPE_UNSPECIFIED = 0;
DCSL_ALPHA = 1;
DCSL_BETA = 2;
DCSL_RELEASED = 3;
}

View File

@@ -0,0 +1,31 @@
########################################
## Copyright 2023 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.
########################################
package(default_visibility = ["//visibility:public"])
load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
proto_library(
name = "fraud_detection_and_reporting_service_proto",
srcs = ["fraud_detection_and_reporting_service.proto"],
deps = [
"@com_github_googleapis_googleapis//google/api:annotations_proto",
"@com_github_googleapis_googleapis//google/api:field_behavior_proto",
],
)
java_proto_library(
name = "fraud_detection_and_reporting_service_java_proto",
deps = [":fraud_detection_and_reporting_service_proto"],
)
java_grpc_library(
name = "fraud_detection_and_reporting_grpc",
srcs = [":fraud_detection_and_reporting_service_proto"],
deps = [":fraud_detection_and_reporting_service_java_proto"],
)

View File

@@ -0,0 +1,201 @@
////////////////////////////////////////////////////////////////////////////////
//// Copyright 2022 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 google.chrome.widevine.frauddetection.v1eap1;
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
option java_multiple_files = true;
option java_outer_classname = "FraudDetectionAndReportingServiceProto";
option java_package = "com.google.chrome.widevine.frauddetection.v1eap1";
service FraudDetectionAndReportingService {
rpc CalculateFraudLevel(CalculateFraudLevelRequest)
returns (CalculateFraudLevelResponse) {
option (google.api.http) = {
post: "/v1eap1/fraudDetection:calculateFraudLevel"
body: "*"
};
}
rpc ReportFraudLevel(ReportFraudLevelRequest)
returns (ReportFraudLevelResponse) {
option (google.api.http) = {
post: "/v1eap1/fraudReporting:reportFraudLevel"
body: "*"
};
}
}
message LicenseRequestInfo {
message RequestMetadata {
string client_ip_address = 1 [
(google.api.field_behavior) = OPTIONAL
];
string user_agent = 2;
string provider = 3;
}
bytes license_request = 1 [
(google.api.field_behavior) = REQUIRED
];
bytes clear_client_id = 2 [
(google.api.field_behavior) = OPTIONAL
];
RequestMetadata request_metadata = 3;
}
message FraudLevel {
enum FraudScore {
FRAUD_SCORE_UNSPECIFIED = 0;
FRAUD_SCORE_NONE = 1;
FRAUD_SCORE_LOW = 2;
FRAUD_SCORE_MEDIUM = 3;
FRAUD_SCORE_HIGH = 4;
FRAUD_SCORE_CRITICAL = 5;
}
enum ConfidenceLevel {
CONFIDENCE_LEVEL_UNSPECIFIED = 0;
CONFIDENCE_LEVEL_NONE = 1;
CONFIDENCE_LEVEL_LOW = 2;
CONFIDENCE_LEVEL_MEDIUM = 3;
CONFIDENCE_LEVEL_HIGH = 4;
CONFIDENCE_LEVEL_VERIFIED = 5;
}
FraudScore fraud_score = 1;
ConfidenceLevel confidence_level = 2;
}
message CalculateFraudLevelRequest {
enum Option {
OPTION_UNSPECIFIED = 0;
OPTION_NO_RESULTS = 1;
OPTION_LOW_LATENCY = 2;
OPTION_HIGH_LATENCY = 3;
}
Option request_option = 1 [
(google.api.field_behavior) = REQUIRED
];
LicenseRequestInfo license_request_info = 2 [
(google.api.field_behavior) = REQUIRED
];
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
}
message CalculateFraudLevelResponse {
FraudLevel fraud_level = 1;
LicenseRequestInfo license_request_info = 2;
}
message ReportFraudLevelRequest {
FraudLevel fraud_level = 1 [
(google.api.field_behavior) = REQUIRED
];
LicenseRequestInfo license_request_info = 2 [
(google.api.field_behavior) = REQUIRED
];
string reason = 3 [(google.api.field_behavior) = OPTIONAL];
}
message ReportFraudLevelResponse {
FraudLevel fraud_level = 1;
LicenseRequestInfo license_request_info = 2;
}