Update to support OEMCrypto v16 with ODK
This commit is contained in:
81
protos/public/external_license.proto
Normal file
81
protos/public/external_license.proto
Normal file
@@ -0,0 +1,81 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// 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.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Description:
|
||||
// Definitions of the protocol buffer messages used in the Widevine license
|
||||
// exchange protocol to support DRM systems native to a device other than
|
||||
// Widevine.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package widevine;
|
||||
|
||||
import "protos/public/client_identification.proto";
|
||||
import "protos/public/license_protocol.proto";
|
||||
|
||||
option java_package = "com.google.video.widevine.externallicense";
|
||||
option java_multiple_files = true;
|
||||
|
||||
|
||||
enum ExternalLicenseType {
|
||||
EXTERNAL_LICENSE_TYPE_UNDEFINED = 0;
|
||||
PLAYREADY_LICENSE_NEW = 1;
|
||||
PLAYREADY_LICENSE_RENEWAL = 2;
|
||||
PLAYREADY_LICENSE_RELEASE = 3;
|
||||
}
|
||||
|
||||
message EncryptedLicenseRequest {
|
||||
// Provider ID for which the license request is encrypted (owner of
|
||||
// service certificate).
|
||||
optional string provider_id = 1;
|
||||
// Serial number for the service certificate for which license_request is
|
||||
// encrypted.
|
||||
optional bytes service_certificate_serial_number = 2;
|
||||
// Serialized license request message, encrypted with the privacy key
|
||||
// using AES-128-CBC with PKCS#5 padding.
|
||||
optional bytes encrypted_license_request = 3;
|
||||
// Initialization vector needed to decrypt encrypted_license_request.
|
||||
optional bytes encrypted_license_request_iv = 4;
|
||||
// AES-128 privacy key, encrypted with the service public key using RSA-OAEP.
|
||||
optional bytes encrypted_privacy_key = 5;
|
||||
}
|
||||
|
||||
message ExternalLicenseRequest {
|
||||
optional ExternalLicenseType request_type = 1;
|
||||
// The license request.
|
||||
oneof clear_or_encrypted_request {
|
||||
// License request from the client.
|
||||
bytes request = 2;
|
||||
// Encrypted request from the client.
|
||||
EncryptedLicenseRequest encrypted_request = 7;
|
||||
}
|
||||
oneof clear_or_encrypted_client_id {
|
||||
// Information about the device.
|
||||
ClientIdentification client_id = 3;
|
||||
// Encrypted ClientIdentification message, used for privacy purposes.
|
||||
EncryptedClientIdentification encrypted_client_id = 4;
|
||||
}
|
||||
// Information about the content, including the PSSH data.
|
||||
optional LicenseRequest.ContentIdentification content_id = 5;
|
||||
// Time of the request in seconds (UTC) as set by the client.
|
||||
optional int64 request_time = 6;
|
||||
}
|
||||
|
||||
message ExternalLicense {
|
||||
optional ExternalLicenseType license_type = 1;
|
||||
// The license representing the license type.
|
||||
optional bytes license = 2;
|
||||
// Widevine specific policy for renewals and expiry.
|
||||
optional License.Policy policy = 3;
|
||||
// Time of the request in seconds (UTC) as set in
|
||||
// LicenseRequest.request_time. If this time is not set in the request,
|
||||
// the local time at the license service is used in this field.
|
||||
optional int64 license_start_time = 4;
|
||||
// List of key Identifiers associated with this license.
|
||||
repeated bytes key_id = 5;
|
||||
}
|
||||
Reference in New Issue
Block a user