63 lines
2.2 KiB
Protocol Buffer
63 lines
2.2 KiB
Protocol Buffer
/*
|
|
* Copyright 2017, The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
syntax = "proto2";
|
|
|
|
package android.clearkeycas;
|
|
|
|
option java_package = "com.google.video.clearkey.protos";
|
|
|
|
// The Asset is the data describing licensing requirements and polciy for a
|
|
// customer's video asset.
|
|
//
|
|
// The asset_id must not be set on creation. It is only used for assets of
|
|
// CasType: CLEARKEY_CAS.
|
|
//
|
|
message Asset {
|
|
// Indicates the type of digital rights management scheme used.
|
|
// CLEARKEY_CAS: Clearkey Media CAS.
|
|
enum CasType {
|
|
UNKNOWN = 0;
|
|
CLEARKEY_CAS = 1;
|
|
}
|
|
|
|
// Must be unset on creation. Required for mutate operations on CLEARKEY_CAS assets.
|
|
optional uint64 id = 1;
|
|
|
|
// Organization-specified name of the asset. Required. Must not be empty.
|
|
// 'bytes' instead of 'string' due to UTF-8 validation in the latter.
|
|
optional bytes name = 2;
|
|
|
|
// The lowercase_organization_name is required. It's a foreign key to the
|
|
// Organization table and part of the primary key for the Asset table.
|
|
optional string lowercase_organization_name = 3;
|
|
|
|
// The policy_name is required. It's a foreign key to the policy table.
|
|
optional string policy_name = 4; // Name of the Policy to apply to this asset.
|
|
|
|
// Key information for decrypting content. Not used for CLEARKEY_CAS.
|
|
optional AssetKey asset_key = 5;
|
|
|
|
optional CasType cas_type = 6 [default = UNKNOWN];
|
|
}
|
|
|
|
// AssetKey defines a key that can be used to decrypt the license.
|
|
// Note: In the previous implementation, the schema accommodated multiple
|
|
// asset keys per asset. This is not supported in this implementation.
|
|
message AssetKey {
|
|
optional bytes encryption_key = 1; // 256-byte key for the asset.
|
|
}
|