ELS type header. More...
#include <stdint.h>
#include <stddef.h>
#include <mcuxClConfig.h>
#include <mcuxCsslFlowProtection.h>
#include <mcuxClEls_mapping.h>
Go to the source code of this file.
Data Structures | |
union | mcuxClEls_KeyProp_t |
Type for ELS key store key properties. More... | |
Macros | |
#define | MCUXCLELS_KEY_SLOTS |
Number of key slots in the ELS key store. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KEY_SIZE_128 |
128-bit key More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KEY_SIZE_256 |
256-bit key More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_ACTIVE |
Key is active (loaded) More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_BASE_SLOT |
First part of multi-slot key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_GENERAL_PURPOSE_SLOT |
General purpose key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_RETENTION_SLOT |
Retention key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_HW_OUT_SLOT |
Hardware output key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_CMAC |
CMAC key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KSK |
Key signing key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_RTF |
RTF signing key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_CKDF |
CKDF signing key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_HKDF |
HKDF signing key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_ECSGN |
ECC signing key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_ECDH |
ECC Diffie Hellman private key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_AES |
AES key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_HMAC |
HMAC key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KWK |
Key Wrapping Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KUOK |
Key Unwrapping Only Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_TLS_PREMASTER_SECRET |
TLS Premaster Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_TLS_MASTER_SECRET |
TLS Master Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_KGSRC |
Can provide key material input for ECC key generation. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_HW_OUT |
A key to be used in a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_WRPOK |
The key can be wrapped. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_DUK |
Device Unique Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_PRIVILEGED |
Caller must be in privileged mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_NOTPRIVILEGED |
Caller does not have to be in privileged mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_SECURE |
Caller must be in secure mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_VALUE_NOTSECURE |
Caller does not have to be in secure mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KEY_SIZE_128 |
This value of mcuxClEls_KeyProp_t.ksize indicates a 128 bit key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KEY_SIZE_256 |
This value of mcuxClEls_KeyProp_t.ksize indicates a 256 bit key. More... | |
#define | MCUXCLELS_KEYPROPERTY_ACTIVE_TRUE |
This value of mcuxClEls_KeyProp_t.kactv indicates that the slot contains an active key. More... | |
#define | MCUXCLELS_KEYPROPERTY_ACTIVE_FALSE |
This value of mcuxClEls_KeyProp_t.kactv indicates that the slot does not contain active key. More... | |
#define | MCUXCLELS_KEYPROPERTY_BASE_SLOT |
This value of mcuxClEls_KeyProp_t.kbase indicates that the slot is the base slot of a 2-slot key. More... | |
#define | MCUXCLELS_KEYPROPERTY_SECOND_SLOT |
This value of mcuxClEls_KeyProp_t.kbase indicates that the slot is the second slot of a 2-slot key. More... | |
#define | MCUXCLELS_KEYPROPERTY_GENERAL_PURPOSE_SLOT_TRUE |
This value of mcuxClEls_KeyProp_t.fgp indicates that the slot is a retention key slot or a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_GENERAL_PURPOSE_SLOT_FALSE |
This value of mcuxClEls_KeyProp_t.fgp indicates that the slot is a neither retention key slot nor hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_RETENTION_SLOT_TRUE |
This value of mcuxClEls_KeyProp_t.frtn indicates that the slot is a retention key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_RETENTION_SLOT_FALSE |
This value of mcuxClEls_KeyProp_t.frtn indicates that the slot is not a retention key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_HW_OUT_SLOT_TRUE |
This value of mcuxClEls_KeyProp_t.fhwo indicates that the slot is a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_HW_OUT_SLOT_FALSE |
This value of mcuxClEls_KeyProp_t.fhwo indicates that the slot is not a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_CMAC_TRUE |
This value of mcuxClEls_KeyProp_t.ucmac indicates that the key can be used for CMAC. More... | |
#define | MCUXCLELS_KEYPROPERTY_CMAC_FALSE |
This value of mcuxClEls_KeyProp_t.ucmac indicates that the key cannot be used for CMAC. More... | |
#define | MCUXCLELS_KEYPROPERTY_KSK_TRUE |
This value of mcuxClEls_KeyProp_t.uksk indicates that the key can be used for key signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_KSK_FALSE |
This value of mcuxClEls_KeyProp_t.uksk indicates that the key cannot be used for key signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_RTF_TRUE |
This value of mcuxClEls_KeyProp_t.urtf indicates that the key can be used for RTF signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_RTF_FALSE |
This value of mcuxClEls_KeyProp_t.urtf indicates that the key cannot be used for RTF signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_CKDF_TRUE |
This value of mcuxClEls_KeyProp_t.uckdf indicates that the key can be used for CKDF. More... | |
#define | MCUXCLELS_KEYPROPERTY_CKDF_FALSE |
This value of mcuxClEls_KeyProp_t.uckdf indicates that the key cannot be used for CKDF. More... | |
#define | MCUXCLELS_KEYPROPERTY_HKDF_TRUE |
This value of mcuxClEls_KeyProp_t.uhkdf indicates that the key can be used for HKDF. More... | |
#define | MCUXCLELS_KEYPROPERTY_HKDF_FALSE |
This value of mcuxClEls_KeyProp_t.uhkdf indicates that the key cannot be used for HKDF. More... | |
#define | MCUXCLELS_KEYPROPERTY_ECC_TRUE |
This value of mcuxClEls_KeyProp_t.uecsg indicates that the key can be used for ECC signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_ECC_FALSE |
This value of mcuxClEls_KeyProp_t.uecsg indicates that the key cannot be used for ECC signing. More... | |
#define | MCUXCLELS_KEYPROPERTY_ECC_DH_PRIVATE_TRUE |
This value of mcuxClEls_KeyProp_t.uecdh indicates that the key is a ECC Diffie Hellman private key. More... | |
#define | MCUXCLELS_KEYPROPERTY_ECC_DH_PRIVATE_FALSE |
This value of mcuxClEls_KeyProp_t.uecdh indicates that the key is not an ECC Diffie Hellman private key. More... | |
#define | MCUXCLELS_KEYPROPERTY_AES_TRUE |
This value of mcuxClEls_KeyProp_t.uaes indicates that the key is an AES key. More... | |
#define | MCUXCLELS_KEYPROPERTY_AES_FALSE |
This value of mcuxClEls_KeyProp_t.uaes indicates that the key is not an AES key. More... | |
#define | MCUXCLELS_KEYPROPERTY_HMAC_TRUE |
This value of mcuxClEls_KeyProp_t.uhmac indicates that the key is an HMAC key. More... | |
#define | MCUXCLELS_KEYPROPERTY_HMAC_FALSE |
This value of mcuxClEls_KeyProp_t.uhmac indicates that the key is not an HMAC key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KWK_TRUE |
This value of mcuxClEls_KeyProp_t.ukwk indicates that the key is a Key Wrapping Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KWK_FALSE |
This value of mcuxClEls_KeyProp_t.ukwk indicates that the key is not a Key Wrapping Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KUOK_TRUE |
This value of mcuxClEls_KeyProp_t.ukuok indicates that the key is a Key Unwrapping Only Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_KUOK_FALSE |
This value of mcuxClEls_KeyProp_t.ukuok indicates that the key is not a Key Unwrapping Only Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_TLS_PREMASTER_SECRET_TRUE |
This value of mcuxClEls_KeyProp_t.utlspms indicates that the key is a TLS Premaster Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_TLS_PREMASTER_SECRET_FALSE |
This value of mcuxClEls_KeyProp_t.utlspms indicates that the key is not a TLS Premaster Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_TLS_MASTER_SECRET_TRUE |
This value of mcuxClEls_KeyProp_t.utlsms indicates that the key is a TLS Master Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_TLS_MASTER_SECRET_FALSE |
This value of mcuxClEls_KeyProp_t.utlsms indicates that the key is not a TLS Master Secret. More... | |
#define | MCUXCLELS_KEYPROPERTY_INPUT_FOR_ECC_TRUE |
This value of mcuxClEls_KeyProp_t.ukgsrc indicates that the key can be used as key material input for ECC key generation. More... | |
#define | MCUXCLELS_KEYPROPERTY_INPUT_FOR_ECC_FALSE |
This value of mcuxClEls_KeyProp_t.ukgsrc indicates that the key cannot be used as key material input for ECC key generation. More... | |
#define | MCUXCLELS_KEYPROPERTY_HW_OUT_TRUE |
This value of mcuxClEls_KeyProp_t.uhwo indicates that the key can be used in a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_HW_OUT_FALSE |
This value of mcuxClEls_KeyProp_t.uhwo indicates that the key cannot be used in a hardware out key slot. More... | |
#define | MCUXCLELS_KEYPROPERTY_WRAP_TRUE |
This value of mcuxClEls_KeyProp_t.wrpok indicates that the key can be wrapped. More... | |
#define | MCUXCLELS_KEYPROPERTY_WRAP_FALSE |
This value of mcuxClEls_KeyProp_t.wrpok indicates that the key cannot be wrapped. More... | |
#define | MCUXCLELS_KEYPROPERTY_DEVICE_UNIQUE_TRUE |
This value of mcuxClEls_KeyProp_t.duk indicates that the key is a Device Unique Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_DEVICE_UNIQUE_FALSE |
This value of mcuxClEls_KeyProp_t.duk indicates that the key is not a Device Unique Key. More... | |
#define | MCUXCLELS_KEYPROPERTY_PRIVILEGED_TRUE |
This value of mcuxClEls_KeyProp_t.upprot_priv indicates that the caller must be in privileged mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_PRIVILEGED_FALSE |
This value of mcuxClEls_KeyProp_t.upprot_priv indicates that the caller does not need to be in privileged mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_SECURE_TRUE |
This value of mcuxClEls_KeyProp_t.upprot_sec indicates that the caller must be in secure mode to use the key. More... | |
#define | MCUXCLELS_KEYPROPERTY_SECURE_FALSE |
This value of mcuxClEls_KeyProp_t.upprot_sec indicates that the caller does not need to be in secure mode to use the key. More... | |
#define | MCUXCLELS_STATUS_OK |
No error occurred. More... | |
#define | MCUXCLELS_STATUS_OK_WAIT |
An _Async function successfully started an ELS command. Call mcuxClEls_WaitForOperation to complete it. More... | |
#define | MCUXCLELS_STATUS_HW_FAULT |
ELS hardware detected a fault. More... | |
#define | MCUXCLELS_STATUS_HW_ALGORITHM |
An algorithm failed in hardware. More... | |
#define | MCUXCLELS_STATUS_HW_OPERATIONAL |
ELS was operated incorrectly. More... | |
#define | MCUXCLELS_STATUS_HW_BUS |
A bus access failed. More... | |
#define | MCUXCLELS_STATUS_HW_INTEGRITY |
An integrity check failed in hardware. More... | |
#define | MCUXCLELS_STATUS_HW_PRNG |
Read access to PRNG output while PRNG is not in ready state. More... | |
#define | MCUXCLELS_STATUS_HW_DTRNG |
Unable to get entropy from dTRNG with current configuration. More... | |
#define | MCUXCLELS_STATUS_SW_FAULT |
Software detected a fault. More... | |
#define | MCUXCLELS_STATUS_SW_CANNOT_INTERRUPT |
an ELS command was started while the ELS was still busy, or a SHA-Direct command was started while the SHA kernel was still busy More... | |
#define | MCUXCLELS_STATUS_SW_INVALID_PARAM |
Incorrect parameters were supplied. More... | |
#define | MCUXCLELS_STATUS_SW_INVALID_STATE |
This can happen when ELS is in a wrong state for the requested ELS command. More... | |
#define | MCUXCLELS_STATUS_SW_COUNTER_EXPIRED |
A software counter expired while waiting for an ELS operation to finish. More... | |
#define | MCUXCLELS_STATUS_SW_COMPARISON_FAILED |
A comparison between an ELS flag and its expected value failed. More... | |
#define | MCUXCLELS_STATUS_IS_HW_ERROR(x) |
Checks whether an error code is a hardware error. Indicates that an error was reported by ELS hardware. More... | |
#define | MCUXCLELS_STATUS_IS_SW_ERROR(x) |
Checks whether an error code is a software error. Indicates that the error was detected by the driver software and not by ELS hardware. More... | |
#define | utlpsms |
Deprecated name for mcuxClEls_KeyProp_t.utlspms. More... | |
Typedefs | |
typedef uint32_t | mcuxClEls_Status_t |
Type for ELS driver status codes. More... | |
typedef mcuxClEls_Status_t | mcuxClEls_Status_Protected_t |
Deprecated type for ELS driver protected status codes. More... | |
typedef uint32_t | mcuxClEls_KeyIndex_t |
Type for ELS keystore indices. More... | |
typedef mcuxClEls_Status_t(* | mcuxClEls_TransferToRegisterFunction_t) (uint32_t volatile *pDestRegister, uint8_t const *pSource, size_t sourceLength, void *pCallerData) |
Function type for transfer of data to a memory-mapped register. More... | |
ELS type header.
This header defines types that are used by other mcuxClEls headers.