MCUX CLNS MCUX Crypto Library Normal Secure |

Data Structures | Macros | Typedefs
mcuxClCss_Types.h File Reference

CSSv2 type header. More...

`#include <stdint.h>`
`#include <stddef.h>`

Go to the source code of this file.

## Data Structures

union | mcuxClCss_KeyProp_t
| Type for CSS key store key properties. More...

## Macros

#define | MCUXCLCSS_KEY_SLOTS
| Number of key slots in the CSS key store. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KEY_SIZE_128
| 128-bit key More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KEY_SIZE_256
| 256-bit key More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_ACTIVE
| Key is active (loaded) More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_BASE_SLOT
| First part of multi-slot key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_GENERAL_PURPOSE_SLOT
| General purpose key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_RETENTION_SLOT
| Retention key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_HW_OUT_SLOT
| Hardware output key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_CMAC
| CMAC key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KSK
| Key signing key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_RTF
| RTF signing key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_CKDF
| CKDF signing key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_HKDF
| HKDF signing key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_ECSGN
| ECC signing key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_ECDH
| ECC Diffie Hellman private key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_AES
| AES key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_HMAC
| HMAC key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KWK
| Key Wrapping Key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KUOK
| Key Unwrapping Only Key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_TLS_PREMASTER_SECRET
| TLS Premaster Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_TLS_MASTER_SECRET
| TLS Master Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_KGSRC
| Can provide key material input for ECC key generation. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_HW_OUT
| A key to be used in a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_WRPOK
| The key can be wrapped. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_DUK
| Device Unique Key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_PRIVILEGED
| Caller must be in privileged mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_NOTPRIVILEGED
| Caller does not have to be in privileged mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_SECURE
| Caller must be in secure mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_VALUE_NOTSECURE
| Caller does not have to be in secure mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_KEY_SIZE_128
| This value of mcuxClCss_KeyProp_t.ksize indicates a 128 bit key. More...
#define | MCUXCLCSS_KEYPROPERTY_KEY_SIZE_256
| This value of mcuxClCss_KeyProp_t.ksize indicates a 256 bit key. More...
#define | MCUXCLCSS_KEYPROPERTY_ACTIVE_TRUE
| This value of mcuxClCss_KeyProp_t.kactv indicates that the slot contains an active key. More...
#define | MCUXCLCSS_KEYPROPERTY_ACTIVE_FALSE
| This value of mcuxClCss_KeyProp_t.kactv indicates that the slot does not contain active key. More...
#define | MCUXCLCSS_KEYPROPERTY_BASE_SLOT
| This value of mcuxClCss_KeyProp_t.kbase indicates that the slot is the base slot of a 2-slot key. More...
#define | MCUXCLCSS_KEYPROPERTY_SECOND_SLOT
| This value of mcuxClCss_KeyProp_t.kbase indicates that the slot is the second slot of a 2-slot key. More...
#define | MCUXCLCSS_KEYPROPERTY_GENERAL_PURPOSE_SLOT_TRUE
| This value of mcuxClCss_KeyProp_t.fgp indicates that the slot is a retention key slot or a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_GENERAL_PURPOSE_SLOT_FALSE
| This value of mcuxClCss_KeyProp_t.fgp indicates that the slot is a neither retention key slot nor hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_RETENTION_SLOT_TRUE
| This value of mcuxClCss_KeyProp_t.frtn indicates that the slot is a retention key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_RETENTION_SLOT_FALSE
| This value of mcuxClCss_KeyProp_t.frtn indicates that the slot is not a retention key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_HW_OUT_SLOT_TRUE
| This value of mcuxClCss_KeyProp_t.fhwo indicates that the slot is a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_HW_OUT_SLOT_FALSE
| This value of mcuxClCss_KeyProp_t.fhwo indicates that the slot is not a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_CMAC_TRUE
| This value of mcuxClCss_KeyProp_t.ucmac indicates that the key can be used for CMAC. More...
#define | MCUXCLCSS_KEYPROPERTY_CMAC_FALSE
| This value of mcuxClCss_KeyProp_t.ucmac indicates that the key cannot be used for CMAC. More...
#define | MCUXCLCSS_KEYPROPERTY_KSK_TRUE
| This value of mcuxClCss_KeyProp_t.uksk indicates that the key can be used for key signing. More...
#define | MCUXCLCSS_KEYPROPERTY_KSK_FALSE
| This value of mcuxClCss_KeyProp_t.uksk indicates that the key cannot be used for key signing. More...
#define | MCUXCLCSS_KEYPROPERTY_RTF_TRUE
| This value of mcuxClCss_KeyProp_t.urtf indicates that the key can be used for RTF signing. More...
#define | MCUXCLCSS_KEYPROPERTY_RTF_FALSE
| This value of mcuxClCss_KeyProp_t.urtf indicates that the key cannot be used for RTF signing. More...
#define | MCUXCLCSS_KEYPROPERTY_CKDF_TRUE
| This value of mcuxClCss_KeyProp_t.uckdf indicates that the key can be used for CKDF. More...
#define | MCUXCLCSS_KEYPROPERTY_CKDF_FALSE
| This value of mcuxClCss_KeyProp_t.uckdf indicates that the key cannot be used for CKDF. More...
#define | MCUXCLCSS_KEYPROPERTY_HKDF_TRUE
| This value of mcuxClCss_KeyProp_t.uhkdf indicates that the key can be used for HKDF. More...
#define | MCUXCLCSS_KEYPROPERTY_HKDF_FALSE
| This value of mcuxClCss_KeyProp_t.uhkdf indicates that the key cannot be used for HKDF. More...
#define | MCUXCLCSS_KEYPROPERTY_ECC_TRUE
| This value of mcuxClCss_KeyProp_t.uecsg indicates that the key can be used for ECC signing. More...
#define | MCUXCLCSS_KEYPROPERTY_ECC_FALSE
| This value of mcuxClCss_KeyProp_t.uecsg indicates that the key cannot be used for ECC signing. More...
#define | MCUXCLCSS_KEYPROPERTY_ECC_DH_PRIVATE_TRUE
| This value of mcuxClCss_KeyProp_t.uecdh indicates that the key is a ECC Diffie Hellman private key. More...
#define | MCUXCLCSS_KEYPROPERTY_ECC_DH_PRIVATE_FALSE
| This value of mcuxClCss_KeyProp_t.uecdh indicates that the key is not an ECC Diffie Hellman private key. More...
#define | MCUXCLCSS_KEYPROPERTY_AES_TRUE
| This value of mcuxClCss_KeyProp_t.uaes indicates that the key is an AES key. More...
#define | MCUXCLCSS_KEYPROPERTY_AES_FALSE
| This value of mcuxClCss_KeyProp_t.uaes indicates that the key is not an AES key. More...
#define | MCUXCLCSS_KEYPROPERTY_HMAC_TRUE
| This value of mcuxClCss_KeyProp_t.uhmac indicates that the key is an HMAC key. More...
#define | MCUXCLCSS_KEYPROPERTY_HMAC_FALSE
| This value of mcuxClCss_KeyProp_t.uhmac indicates that the key is not an HMAC key. More...
#define | MCUXCLCSS_KEYPROPERTY_KWK_TRUE
| This value of mcuxClCss_KeyProp_t.ukwk indicates that the key is a Key Wrapping Key. More...
#define | MCUXCLCSS_KEYPROPERTY_KWK_FALSE
| This value of mcuxClCss_KeyProp_t.ukwk indicates that the key is not a Key Wrapping Key. More...
#define | MCUXCLCSS_KEYPROPERTY_KUOK_TRUE
| This value of mcuxClCss_KeyProp_t.ukuok indicates that the key is a Key Unwrapping Only Key. More...
#define | MCUXCLCSS_KEYPROPERTY_KUOK_FALSE
| This value of mcuxClCss_KeyProp_t.ukuok indicates that the key is not a Key Unwrapping Only Key. More...
#define | MCUXCLCSS_KEYPROPERTY_TLS_PREMASTER_SECRET_TRUE
| This value of mcuxClCss_KeyProp_t.utlspms indicates that the key is a TLS Premaster Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_TLS_PREMASTER_SECRET_FALSE
| This value of mcuxClCss_KeyProp_t.utlspms indicates that the key is not a TLS Premaster Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_TLS_MASTER_SECRET_TRUE
| This value of mcuxClCss_KeyProp_t.utlsms indicates that the key is a TLS Master Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_TLS_MASTER_SECRET_FALSE
| This value of mcuxClCss_KeyProp_t.utlsms indicates that the key is not a TLS Master Secret. More...
#define | MCUXCLCSS_KEYPROPERTY_INPUT_FOR_ECC_TRUE
| This value of mcuxClCss_KeyProp_t.ukgsrc indicates that the key can be used as key material input for ECC key generation. More...
#define | MCUXCLCSS_KEYPROPERTY_INPUT_FOR_ECC_FALSE
| This value of mcuxClCss_KeyProp_t.ukgsrc indicates that the key cannot be used as key material input for ECC key generation. More...
#define | MCUXCLCSS_KEYPROPERTY_HW_OUT_TRUE
| This value of mcuxClCss_KeyProp_t.uhwo indicates that the key can be used in a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_HW_OUT_FALSE
| This value of mcuxClCss_KeyProp_t.uhwo indicates that the key cannot be used in a hardware out key slot. More...
#define | MCUXCLCSS_KEYPROPERTY_WRAP_TRUE
| This value of mcuxClCss_KeyProp_t.wrpok indicates that the key can be wrapped. More...
#define | MCUXCLCSS_KEYPROPERTY_WRAP_FALSE
| This value of mcuxClCss_KeyProp_t.wrpok indicates that the key cannot be wrapped. More...
#define | MCUXCLCSS_KEYPROPERTY_DEVICE_UNIQUE_TRUE
| This value of mcuxClCss_KeyProp_t.duk indicates that the key is a Device Unique Key. More...
#define | MCUXCLCSS_KEYPROPERTY_DEVICE_UNIQUE_FALSE
| This value of mcuxClCss_KeyProp_t.duk indicates that the key is not a Device Unique Key. More...
#define | MCUXCLCSS_KEYPROPERTY_PRIVILEGED_TRUE
| This value of mcuxClCss_KeyProp_t.upprot_priv indicates that the caller must be in privileged mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_PRIVILEGED_FALSE
| This value of mcuxClCss_KeyProp_t.upprot_priv indicates that the caller does not need to be in privileged mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_SECURE_TRUE
| This value of mcuxClCss_KeyProp_t.upprot_sec indicates that the caller must be in secure mode to use the key. More...
#define | MCUXCLCSS_KEYPROPERTY_SECURE_FALSE
| This value of mcuxClCss_KeyProp_t.upprot_sec indicates that the caller does not need to be in secure mode to use the key. More...
#define | MCUXCLCSS_STATUS_OK
| No error occurred. More...
#define | MCUXCLCSS_STATUS_OK_WAIT
| An `_Async` function successfully started a CSS command. Call mcuxClCss_WaitForOperation to complete it. More...
#define | MCUXCLCSS_STATUS_HW_FAULT
| CSSv2 hardware detected a fault. More...
#define | MCUXCLCSS_STATUS_HW_ALGORITHM
| An algorithm failed in hardware. More...
#define | MCUXCLCSS_STATUS_HW_OPERATIONAL
| CSSv2 was operated incorrectly. More...
#define | MCUXCLCSS_STATUS_HW_BUS
| A bus access failed. More...
#define | MCUXCLCSS_STATUS_HW_INTEGRITY
| An integrity check failed in hardware. More...
#define | MCUXCLCSS_STATUS_HW_PRNG
| Read access to PRNG output while PRNG is not in ready state. More...
#define | MCUXCLCSS_STATUS_HW_DTRNG
| Unable to get entropy from dTRNG with current configuration. More...
#define | MCUXCLCSS_STATUS_SW_FAULT
| Software detected a fault. More...
#define | MCUXCLCSS_STATUS_SW_CANNOT_INTERRUPT
| A CSS command was started while the CSS was still busy, or a SHA-Direct command was started while the SHA kernel was still busy. More...
#define | MCUXCLCSS_STATUS_SW_INVALID_PARAM
| Incorrect parameters were supplied. More...
#define | MCUXCLCSS_STATUS_SW_INVALID_STATE
| This can happen when CSS is in a wrong state for the requested CSS command. More...
#define | MCUXCLCSS_STATUS_SW_COUNTER_EXPIRED
| A software counter expired while waiting for a CSS operation to finish. More...
#define | MCUXCLCSS_STATUS_SW_COMPARISON_FAILED
| A comparison between a CSS flag and its expected value failed. More...
#define | MCUXCLCSS_STATUS_IS_HW_ERROR(x)
| Checks whether an error code is a hardware error. Indicates that an error was reported by CSSv2 hardware. More...
#define | MCUXCLCSS_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 CSSv2 hardware. More...
#define | utlpsms
| Deprecated name for mcuxClCss_KeyProp_t.utlspms. More...

## Typedefs

typedef uint64_t | mcuxClCss_Status_Protected_t
| Type for CSS driver protected status codes. More...
typedef uint32_t | mcuxClCss_Status_t
| Type for CSS driver status codes. More...
typedef uint8_t | mcuxClCss_KeyIndex_t
| Type for CSS keystore indices. More...
typedef mcuxClCss_Status_t(* | mcuxClCss_TransferToRegisterFunction_t) (uint32_t volatile *destRegister, uint8_t const *source, size_t size, void *pCallerData)
| Function type for transfer of data to a memory-mapped register. More...

## Detailed Description

CSSv2 type header.

This header defines types that are used by other mcuxClCss headers.