240 lines
7.0 KiB
Protocol Buffer
240 lines
7.0 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.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Description:
|
|
// Definitions of the common Widevine protocol errors.
|
|
|
|
syntax = "proto2";
|
|
|
|
package widevine;
|
|
option java_package = "com.google.video.widevine.protos";
|
|
|
|
|
|
enum Errors {
|
|
// Attempt to parse the signed message failed.
|
|
SIGNED_MESSAGE_PARSE_ERROR = 100;
|
|
|
|
// Attempt to parse the license request message failed.
|
|
LICENSE_REQUEST_PARSE_ERROR = 101;
|
|
|
|
// Attempt to parse the session state message failed.
|
|
SESSION_STATE_PARSE_ERROR = 102;
|
|
|
|
// The license request does not contain content_id. Since client_id was
|
|
// not present, content_id was expected.
|
|
MISSING_CONTENT_ID = 103;
|
|
|
|
// The license request does not contain license_id. Since client_id was
|
|
// not present, license_id was expected.
|
|
MISSING_LICENSE_ID = 104;
|
|
|
|
// The license request does not contain client_id. Since this is not a
|
|
// renewal, client_id was expected.
|
|
MISSING_CLIENT_ID = 105;
|
|
|
|
// ClientCert construction failed.
|
|
INVALID_SIGNATURE = 106;
|
|
|
|
// Session Id from the session state does not match session Id specified.
|
|
SESSION_ID_MISMATCH = 107;
|
|
|
|
// License Id from session state does not match license Id in the renewal
|
|
// license request.
|
|
RENEWAL_LICENSE_ID_MISMATCH = 108;
|
|
|
|
// Signing key is missing from the session state.
|
|
MISSING_RENEWAL_SIGNING_KEY = 109;
|
|
|
|
// Signature verification failed when using the session's state signing key.
|
|
INVALID_RENEWAL_SIGNATURE = 110;
|
|
|
|
// System Id from the keybox is not supported.
|
|
UNSUPPORTED_SYSTEM_ID = 111;
|
|
|
|
// Error trying to encrypt.
|
|
ENCRYPT_ERROR = 112;
|
|
|
|
// Error trying to decrypt the keybox.
|
|
KEYBOX_DECRYPT_ERROR = 113;
|
|
|
|
// Client Id type is not expected.
|
|
INVALID_CLIENT_CERT_TYPE = 114;
|
|
|
|
// Error usung the keybox token. Perhaps the size is less than 72 bytes.
|
|
INVALID_KEYBOX_TOKEN = 115;
|
|
|
|
// Unable to find a preprovisionnig key based on the system Id. Perhaps the
|
|
// device was revoked.
|
|
MISSING_PRE_PROV_KEY = 116;
|
|
|
|
// Unable to verify the token hash.
|
|
TOKEN_HASH_MISMATCH = 117;
|
|
|
|
// Unable to create the encryption key for the initial license.
|
|
MISSING_ENCRYPTION_KEY = 118;
|
|
|
|
// Signing key is missing from the session state.
|
|
MISSING_SIGNING_KEY = 119;
|
|
|
|
// Serialization failed.
|
|
UNABLE_TO_SERIALIZE_SIGNED_MESSAGE = 120;
|
|
|
|
// Serialization failed.
|
|
UNABLE_TO_SERIALIZE_SESSION_STATE = 121;
|
|
|
|
// Client cert is missing. Perhaps an attempt to renew with content keys.
|
|
MISSING_CLIENT_CERT = 122;
|
|
|
|
// Attempt to use GenerateSignedLicense() for license renewal containing
|
|
// content keys.
|
|
RENEWAL_WITH_CONTENT_KEYS_NOT_ALLOWED = 123;
|
|
|
|
// Invalid Nonce, expected as a 32 bit unsigned int.
|
|
INVALID_KEY_CONTROL_NONCE = 124;
|
|
|
|
// Invalid renewal signing key size. For protocol version 2_0, size must be 32
|
|
// bytes. For protocol version 2_1, size must be 64 bytes.
|
|
INVALID_RENEWAL_SIGNING_KEY_SIZE = 125;
|
|
|
|
// Invalid Device Certificate token. Perhaps the intermediate cert was
|
|
// replaced or the device cert is corrupt. Will result in re-provisioning.
|
|
INVALID_DRM_CERTIFICATE = 126;
|
|
|
|
// Device Certificate was revoked.
|
|
DRM_DEVICE_CERTIFICATE_REVOKED = 127;
|
|
|
|
// Device Certificate not in the certificate status list, and unknown
|
|
// devices are not allowed.
|
|
DRM_DEVICE_CERTIFICATE_UNKNOWN = 128;
|
|
|
|
// Invalid Certificate status list.
|
|
INVALID_CERTIFICATE_STATUS_LIST = 129;
|
|
|
|
// Expired Certificate status list.
|
|
EXPIRED_CERTIFICATE_STATUS_LIST = 130;
|
|
|
|
// KeyControl block generation failed.
|
|
KEYCONTROL_GENERATION_ERROR = 131;
|
|
|
|
// The device root certificate was not set.
|
|
ROOT_CERTIFICATE_NOT_SET = 132;
|
|
|
|
// The service certificate is invalid.
|
|
INVALID_SERVICE_CERTIFICATE = 133;
|
|
|
|
// Service certificate not found.
|
|
SERVICE_CERTIFICATE_NOT_FOUND = 134;
|
|
|
|
// Invalid EncryptedClientIdentification message.
|
|
INVALID_ENCRYPTED_CLIENT_IDENTIFICATION = 135;
|
|
|
|
// No service certificates have been added.
|
|
SERVICE_CERTIFICATE_NOT_SET = 136;
|
|
|
|
// Could not process service private key.
|
|
INVALID_SERVICE_PRIVATE_KEY = 137;
|
|
|
|
// ClientIdentification and EncryptedClientIdentification were specified.
|
|
MULTIPLE_CLIENT_ID = 138;
|
|
|
|
// Message is a service certificate request.
|
|
SERVICE_CERTIFICATE_REQUEST_MESSAGE = 139;
|
|
|
|
// Invalid message type
|
|
INVALID_MESSAGE_TYPE = 140;
|
|
|
|
// Remote attestation verification failed.
|
|
REMOTE_ATTESTATION_FAILED = 141;
|
|
|
|
// can_play = true for license RELEASE response.
|
|
INVALID_RELEASE_CAN_PLAY_VALUE = 142;
|
|
|
|
// can_persist = false for offline license.
|
|
INVALID_OFFLINE_CAN_PERSIST = 143;
|
|
|
|
// Session usage table entry is malformed.
|
|
INVALID_SESSION_USAGE_TABLE_ENTRY = 144;
|
|
|
|
// Session usage table entry signature verification failed.
|
|
INVALID_SESSION_USAGE_SIGNATURE = 145;
|
|
|
|
// The type of ContentIdentification is unrecognized
|
|
INVALID_CONTENT_ID_TYPE = 146;
|
|
|
|
// Unknown InitData type.
|
|
UNKNOWN_INIT_DATA_TYPE = 147;
|
|
|
|
// InitData.init_data field is missing.
|
|
MISSING_INIT_DATA = 148;
|
|
|
|
// InitData contains invalid ISO BMFF boxes.
|
|
INVALID_CENC_INIT_DATA = 149;
|
|
|
|
// Malformed PSSH box.
|
|
INVALID_PSSH = 150;
|
|
|
|
// PSSH box version not supported.
|
|
UNSUPPORTED_PSSH_VERSION = 151;
|
|
|
|
// Widevine PSSH Data malformed.
|
|
INVALID_WIDEVINE_PSSH_DATA = 152;
|
|
|
|
// Device capabilities are too low for the specified output protection.
|
|
DEVICE_CAPABILITIES_TOO_LOW = 153;
|
|
|
|
// Invalid master signing key size. Must be 16 bytes.
|
|
INVALID_MASTER_SIGNING_KEY_SIZE = 154;
|
|
|
|
// Invalid signing key size. Must be 64 bytes.
|
|
INVALID_SIGNING_KEY_SIZE = 155;
|
|
|
|
// Keybox tokens not intialized. PreProvisioning keys not loaded.
|
|
KEYBOX_TOKEN_KEYS_NOT_INITIALIZED = 156;
|
|
|
|
// Provider Id in device certificate does not match service Id for License
|
|
// server. Check cert used when initializing with AddDrmServiceCertificate().
|
|
PROVIDER_ID_MISMATCH = 157;
|
|
|
|
// Certificate chain not selected.
|
|
CERT_CHAIN_NOT_SELECTED = 158;
|
|
|
|
// Failed to read the SRM file from specified location.
|
|
INVALID_SRM_LOCATION = 159;
|
|
|
|
// Invalid SRM file size, HDCP2 SRM file must be at least 396 bytes.
|
|
INVALID_SRM_SIZE = 160;
|
|
|
|
// SRM file signature validation failed.
|
|
INVALID_SRM_SIGNATURE = 161;
|
|
|
|
// Unable to find provider.
|
|
MISSING_PROVIDER = 162;
|
|
|
|
// Unable to find group master key id.
|
|
MISSING_GROUP_MASTER_KEY_ID = 163;
|
|
|
|
// Unable to find group master key.
|
|
MISSING_GROUP_MASTER_KEY = 164;
|
|
|
|
// Invalid Provider session token size. Must be less than 256 bytes.
|
|
INVALID_PROVIDER_SESSION_TOKEN_SIZE = 165;
|
|
|
|
// Failure to decrypt data with service certificate private key.
|
|
SERVICE_PRIVATE_KEY_DECRYPT_ERROR = 166;
|
|
|
|
// Disallowed development certificate.
|
|
DEVELOPMENT_CERTIFICATE_NOT_ALLOWED = 167;
|
|
|
|
// Invalid message. E.g. Deserialization failed.
|
|
INVALID_MESSAGE = 168;
|
|
|
|
// Invalid key size.
|
|
INVALID_KEY_SIZE = 169;
|
|
|
|
}
|