-
Notifications
You must be signed in to change notification settings - Fork 48
Device Error Codes
Artem Yushev edited this page Mar 23, 2023
·
7 revisions
The possible error codes returned from the security chip are listed in Table below (for more details please refer to the Solution Reference Manual). If multiple commands happen to produce subsequent errors then only the highest-numbered error code is stored.
Note: The error code will be returned in the following form: 0x8001, where the last byte corresponds to the error code in the table below, in this case "Invalid Object ID"
Field | Code | Description |
---|---|---|
No error | 0x00 | No Error |
Invalid OID | 0x01 | Invalid OID |
Invalid Password | 0x02 | Invalid Password |
Invalid Param field | 0x03 | Invalid Param field in command |
Invalid length field | 0x04 | Invalid Length field in command |
Invalid parameter in data field | 0x05 | Invalid parameter in command data field |
Internal process error | 0x06 | Internal process error |
Access conditions not satisfied | 0x07 | Access conditions are not satisfied |
Data object boundary exceeded | 0x08 | The sum of offset and data provided (offset + data length) exceeds the max length of the data object |
Metadata truncation error | 0x09 | Metadata truncation error |
Invalid command field | 0x0A | Invalid command field |
Command out of sequence | 0x0B | Command or message out of sequence. Command out of sequence means that the command which expected to use certain resources are not available or not started at chip e.g. invoking the optiga_crypt_tls_prf_sha256() function (which is using session) before invoking the optiga_crypt_ecdh() function. Another example is a usage of the optiga_crypt_ecdh() and optiga_crypt_tls_prf_sha256() functions in the row using the Session OID without optiga_crypt_ecc_generate_keypair() , this leads to failure "of out of sequence" due to a lack of private key in Session OID slot |
Command not available | 0x0C |
|
Insufficient buffer/ memory | 0x0D | Insufficient memory to process the command APDU |
Counter threshold limit exceeded | 0x0E | Counter value crossed the threshold limit and further counting is denied. |
Invalid Manifest | 0x0F |
|
Invalid/Wrong Payload Version | 0x10 | The Payload Version provided in the Manifest is not greater than the version of the target object, or the last update was interrupted and the restarted/retried update has not the same version |
Invalid metadata of the key/data object | 0x11 | A command is acting on metadata for key or data objects and the current metadata are invalid |
Unsupported extension/identifier | 0x24 |
|
Unsupported parameters | 0x25 |
|
Invalid certificate format | 0x29 | Invalid certificate(s) in certificate message with the following reasons. |
Unsupported certificate algorithm | 0x2A | At least one cryptographic algorithm specified in the certificate is not supported (e.g. hash or sign algorithms). |
Signature verification failure | 0x2C | Signature verification failure. |
Integrity validation failure | 0x2D | Message Integrity validation failure (e.g. during CCM decryption). |
Decryption Failure | 0x2E | Decryption Failure. |
Authorization failure | 0x2F | Session random comparison failure or HMAC verification failure |