EDHOC error codes & values

The EDHOC error codes and value documentation is presented in this chapter.

Error codes

Header file: include/edhoc_values.h.
group EDHOC error codes

Defines

EDHOC_SUCCESS

The action was completed successfully.

EDHOC_ERROR_GENERIC_ERROR

An error occurred that does not correspond to any defined failure cause.

EDHOC_ERROR_NOT_SUPPORTED

The requested operation or a parameter is not supported by this implementation.

EDHOC_ERROR_NOT_PERMITTED

The requested action is denied by a EDHOC specification.

EDHOC_ERROR_BUFFER_TOO_SMALL

An output buffer is too small.

EDHOC_ERROR_BAD_STATE

The requested action cannot be performed in the current state.

EDHOC_ERROR_INVALID_ARGUMENT

The parameters passed to the function are invalid.

EDHOC_ERROR_CBOR_FAILURE

There was a CBOR failure inside implementation.

EDHOC_ERROR_CRYPTO_FAILURE

There was a cryptographic operation failure inside implementation.

EDHOC_ERROR_CREDENTIALS_FAILURE

There was a credentials failure inside implementation.

EDHOC_ERROR_EAD_COMPOSE_FAILURE

External authorization data compose failed.

EDHOC_ERROR_EAD_PROCESS_FAILURE

External authorization data process failed.

EDHOC_ERROR_MSG_1_PROCESS_FAILURE

EDHOC processing of message 1 failure was detected.

EDHOC_ERROR_MSG_2_PROCESS_FAILURE

EDHOC processing of message 2 failure was detected.

EDHOC_ERROR_MSG_3_PROCESS_FAILURE

EDHOC processing of message 3 failure was detected.

EDHOC_ERROR_MSG_4_PROCESS_FAILURE

EDHOC processing of message 4 failure was detected.

EDHOC_ERROR_EPHEMERAL_DIFFIE_HELLMAN_FAILURE

EDHOC ephemeral Diffie-Hellman key agreement failure was detected.

EDHOC_ERROR_TRANSCRIPT_HASH_FAILURE

EDHOC computing of transcript hash failure was detected.

EDHOC_ERROR_PSEUDORANDOM_KEY_FAILURE

EDHOC computing of pseudorandom key failure was detected.

EDHOC_ERROR_INVALID_MAC_2

EDHOC MAC_2 is incorrect.

EDHOC_ERROR_INVALID_SIGN_OR_MAC_2

EDHOC Signature_2 or MAC_2 is incorrect.

EDHOC_ERROR_INVALID_MAC_3

EDHOC MAC_3 is incorrect.

EDHOC_ERROR_INVALID_SIGN_OR_MAC_3

EDHOC Signature_3 or MAC_3 is incorrect.

Values - cbor one byte

Header file: include/edhoc_values.h.
group EDHOC CBOR one byte

Note

It must follow the RFC 9528: 3.3.2. Representation of Byte String Identifiers.

Defines

ONE_BYTE_CBOR_INT_MIN_VALUE

Minimum value for CBOR one byte integer.

ONE_BYTE_CBOR_INT_MAX_VALUE

Maximum value for CBOR one byte integer.

Values - extract

Header file: include/edhoc_values.h.
group EDHOC extract labels

Defines

EDHOC_EXTRACT_PRK_INFO_LABEL_KEYSTERAM_2

KEYSTREAM_2 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_SALT_3E2M

SALT_3e2m from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_MAC_2

MAC_2 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_K_3

K_3 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_IV_3

IV_3 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_SALT_4E3M

SALT_4e3m from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_MAC_3

MAC_3 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_PRK_OUT

PRK_out from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_K_4

K_4 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_IV_4

IV_4 from RFC 9528: 4.1.2. EDHOC_Expand and EDHOC_KDF.

EDHOC_EXTRACT_PRK_INFO_LABEL_PRK_EXPORTER

PRK_Exporter from RFC 9528: 4.2.1. EDHOC_Exporter.

EDHOC_EXTRACT_PRK_INFO_LABEL_NEW_PRK_OUT

PRK_out from RFC 9528: 4.1.3. PRK_out.

OSCORE_EXTRACT_LABEL_MASTER_SECRET

RFC 9528: A.1. Deriving the OSCORE Security Context.

EDHOC exporter label for OSCORE Master Secret from RFC 9528: A.1. Deriving the OSCORE Security Context.

OSCORE_EXTRACT_LABEL_MASTER_SALT

EDHOC exporter label for OSCORE Master Salt from RFC 9528: A.1. Deriving the OSCORE Security Context.

EDHOC_PRK_EXPORTER_PRIVATE_LABEL_MINIMUM

RFC 9528: 10.1. EDHOC Exporter Label Registry.

Minimum value for EDHOC exporter label for private usage.

EDHOC_PRK_EXPORTER_PRIVATE_LABEL_MAXIMUM

Maximum value for EDHOC exporter label for private usage.