Status Codes Reference

The YubiHSM software components have a standard set of status codes to report the status of an HSM operation. To comply with the expectations of specific platforms, these status codes are converted to the appropriate API status code.

Currently, this translation is only performed for the Windows Key Storage Provider. The error codes, their meanings and translated values are as follows:

Libyubihsm Error Code Description Windows CNG Translation
YHR_BUFFER_TOO_SMALL
Not enough space to
store data
NTE_BUFFER_TOO_SMALL
YHR_CONNECTION_ERROR Transport Backend error NTE_DEVICE_NOT_READY
YHR_CONNECTOR_ERROR
Connector operation
failed
NTE_DEVICE_NOT_READY
YHR_CONNECTOR_NOT_FOUND
Unable to find a
suitable connector
NTE_DEVICE_NOT_READY
YHR_CRYPTOGRAM_MISMATCH
Unable to verify
cryptogram
NTE_BAD_SIGNATURE
YHR_DEVICE
_AUTHENTICATION_FAILED
Message encryption /
verification failed
NTE_INCORRECT_PASSWORD
YHR_DEVICE_COMMAND
_UNEXECUTED






The HSM attempted to
execute a command, but
it did not complete in
the time allotted. The
command has not
terminated, and the
current state of the
session is unavailable
NTE_SYS_ERR
YHR_DEVICE_DEMO_MODE
Demo mode, power cycle
device
NTE_DEVICE_NOT_READY
YHR_DEVICE_INSUFFICIENT
_PERMISSIONS
Wrong permissions for
operation
NTE_PERM
YHR_DEVICE_INVALID
_COMMAND
Invalid command NTE_NOT_SUPPORTED
YHR_DEVICE_INVALID_DATA
Malformed command /
invalid data
NTE_INVALID_PARAMETER
YHR_DEVICE_INVALID_ID Illegal ID used
NTE_INVALID
PARAMETER[]
YHR_DEVICE_INVALID_OTP Invalid OTP NTE_INCORRECT_PASSWORD
YHR_DEVICE_INVALID
_SESSION
Invalid session NTE_DEVICE_NOT_READY
YHR_DEVICE_LOG_FULL
Log buffer is full and
forced audit is set
NTE_DEVICE_NOT_READY
YHR_DEVICE_OBJECT_EXISTS
An object with the
specified ID already
exists
NTE_EXISTS
YHR_DEVICE_OBJECT
_NOT_FOUND
Object not found NTE_NOT_FOUND
YHR_DEVICE_OK
No error NTE_OP_OK
YHR_DEVICE_SESSION
_FAILED
Session creation failed NTE_DEVICE_NOT_READY
YHR_DEVICE_SESSIONS_FULL
All sessions are
allocated
NTE_DEVICE_NOT_READY
YHR_DEVICE_STORAGE
_FAILED
Storage failure
NTE_TOKEN_KEYSET
_STORAGE_FULL
YHR_DEVICE_WRONG_LENGTH Wrong length NTE_BAD_LEN
YHR_GENERIC_ERROR Generic error NTE_FAIL
YHR_INIT_ERROR
Unable to initialize
libyubihsm
NTE_PROVIDER_DLL_FAIL
YHR_INVALID_PARAMETERS
Invalid argument to a
function
NTE_INVALID_PARAMETER
YHR_MAC_MISMATCH Unable to verify MAC NTE_BAD_SIGNATURE
YHR_MEMORY_ERROR
The YubiHSM or software
library was not able to
allocate memory to
perform the requested
operation
NTE_NO_MEMORY
YHR_SESSION
_AUTHENTICATION
_FAILED
Unable to authenticate
session

NTE_INCORRECT_PASSWORD
YHR_SUCCESS
The operation completed
successfully
ERROR_SUCCESS
YHR_WRONG_LENGTH
This error may occur if
there is a mismatch
between the YubiHSM
firmware version and
libyubihsm library
version
NTE_BAD_LEN