// Copyright 2017 Google LLC. All rights reserved. // // Description: // Definitions of the common Widevine protocol errors. syntax = "proto2"; package video_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; // VMP verification required for this platform, however VMP data is missing. VMP_ERROR_PLATFORM_NOT_VERIFIED = 173; // VMP verification failed this platform, perhaps was tampered with. VMP_ERROR_PLATFORM_TAMPERED = 174; // Device Certificate SN is revoked. DRM_DEVICE_CERTIFICATE_SERIAL_NUMBER_REVOKED = 175; // Signing key expired. SIGNING_KEY_EXPIRED = 176; // Signature verification failed. SIGNATURE_VERIFICATION_FAILED = 177; // License request provider and the signer provider do not match. SIGNER_PROVIDER_ID_MISMATCH = 178; // Invalid session key. INVALID_SESSION_KEY = 179; // Device not supported. DEVICE_NOT_SUPPORTED = 180; // Empty content info entry CONTENT_INFO_ENTRY_EMPTY = 181; // Drm device certificate serial number is empty. DRM_DEVICE_CERTIFICATE_EMPTY_SERIAL_NUMBER = 182; // Make/Model reported in license request is unknown. UNKNOWN_MAKE_MODEL = 183; // Generating ECC ephemeral keys failed. DRM_DEVICE_CERTIFICATE_ECC_KEYGEN_FAILED = 184; // Certificate Algorithm. INVALID_CERT_ALGORITHM = 185; // RSA Public key not found. MISSING_RSA_PUBLIC_KEY = 186; // An error in creating a RSA Public Key. CREATE_RSA_PUBLIC_KEY_FAILED = 187; // An error was found in the ATSC profile. ATSC_PROFILE_ERROR = 188; // Attempt to parse the external license request message failed. EXTERNAL_LICENSE_REQUEST_PARSE_ERROR = 189; // Unexpected key type for the type of message. INVALID_KEY_TYPE = 190; // Unable to find provider key. MISSING_PROVIDER_KEY = 191; // Unable to find provider iv. MISSING_PROVIDER_IV = 192; // Group id is empty. EMPTY_GROUP_ID = 193; // Encrypted license challenge not decrypted. INVALID_ENCRYPTED_LICENSE_CHALLENGE = 194; // Invalid signed device security profiles. INVALID_SIGNED_DEVICE_SECURITY_PROFILES = 195; // Invalid device security profile list. INVALID_DEVICE_SECURITY_PROFILE_LIST = 196; // Missing a remote attestation certificate. MISSING_REMOTE_ATTESTATION_CERTIFICATE = 197; // Device certificate status list not found. CERTIFICATE_STATUS_LIST_NOT_FOUND = 198; // Public key in service certificate should match with private key. PUBLIC_KEY_AND_PRIVATE_KEY_MISMATCH = 199; // Could not process service public key. INVALID_SERVICE_PUBLIC_KEY = 200; // DRM Certificate in the license request has expired. DRM_DEVICE_CERTIFICATE_EXPIRED = 201; }