//////////////////////////////////////////////////////////////////////////////// // 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; // Invalid method parameter. INVALID_PARAMETER = 170; // Even KeyID not specified, CasEncryptionResponse.KeyInfo.KeySlot MISSING_EVEN_KEY_ID = 171; // Even Key not specified, CasEncryptionResponse.KeyInfo.KeySlot MISSING_EVEN_KEY = 172; }