Return Values (Status Codes)

This section specifies status codes returned by the Unbound Crypto-of-Things SDK core package.

Unbound Crypto-of-Things SDK Return Values (Status Codes)

Value

Description

DY_SUCCEED

Operation succeeded.

DY_EFAIL

General error.

The program encounters unexpected situation.

DY_EINVAL

Not valid argument.

DY_ENOENT

Not found error.

Possible cause:

  • Trying to use a token before creating one.
  • Certificate file not found.
  • SDK failed to communicate with the iOS Watch.

DY_ECOMM

Communication error.

Possible causes:

DY_EDUP

This error code is reserved.

DY_EUNKNOWN

This error code is reserved.

DY_EBUSY

This error code is reserved.

DY_ECRYPT

Cryptography error.

Indicates a mistake during generation or use of a key in the key store.

DY_ESIZE

This error code is reserved.

DY_EUSERABORT

The operation was canceled by the user.

Possible causes:

  • User canceled the Touch ID signing operation.
  • User canceled Apple Watch approval operation.

DY_ETOUCHID_NOAVAIL

Touch ID is not available, or there is no fingerprint sensor.

Possible causes:

  • The device does not support fingerprint authentication.
  • Error while checking the device fingerprint status.

DY_EINCORRECT_PIN

Incorrect PIN

Possible causes:

  • Wrong PIN.
  • Fingerprint authentication failed.
  • Token with empty PIN.

DY_EKEYSYNC

Key sync error.

Possible cause:

Cryptographic error raised while trying to sync server and mobile keys/data.

DY_ESTATE_CHANGED

The state was changed.

Possible causes:

  • Fingerprint sensor was added/removed from the device.
  • Lock screen was disabled, re-create token (security issue).

DY_ETIMEOUT

Operation timeout reached.

Possible causes:

  • Communication problem (server is not reachable).
  • The requested operation is taking more time than expected.

DY_ELOCKED

Communication with the server is blocked by the protocol.

Possible cause:

Too many incorrect retries (wrong PIN).

According to the server policy, there are two options:

  • Wait a predefined time; the token is unlocked automatically.
  • The server locks the token forever. You must re-enroll the token.

DY_EPROTOCOL

Low-level cryptographic protocol error.

DY_EINVALIDSIG

The server certificate is invalid.

DY_EEXPIRED

Server key expired.

DY_EINIT

Unbound Crypto-of-Things SDK operation called before Unbound Crypto-of-Things SDK initialization.

DY_EOS

iOS version is not valid.

DY_ETOUCHID_PASSCODE_NOT_SET

Screen lock is not activated on the device.

Possible cause:

Using DYFingerprintCredentials on a device without enabling the screen lock.

Suggestion:

Enable the screen lock on the device and add at least one fingerprint before creating the token.

DY_EREFRESH_REQUIRED

Mobile device exceeded the out-of-sync threshold for the token domain it is using.

Possible cause:

A deficiency in the connection to the server or in the finalization of the server response processing on the mobile device.