36 #ifndef MCUXCLELS_KEYMANAGEMENT_H_ 37 #define MCUXCLELS_KEYMANAGEMENT_H_ 39 #include <mcuxClConfig.h> 64 #define MCUXCLELS_KEYIMPORT_VALUE_KFMT_UDF ((uint32_t) 0u<< 6u) 65 #define MCUXCLELS_KEYIMPORT_VALUE_KFMT_RFC3394 ((uint32_t) 1u<< 6u) 66 #define MCUXCLELS_KEYIMPORT_VALUE_KFMT_PUF ((uint32_t) 2u<< 6u) 67 #ifdef MCUXCL_FEATURE_ELS_PUK_INTERNAL 68 #define MCUXCLELS_KEYIMPORT_VALUE_KFMT_PBK ((uint32_t) 3u<< 6u) 82 #define MCUXCLELS_KEYIMPORT_KFMT_UDF (0x00u) 83 #define MCUXCLELS_KEYIMPORT_KFMT_RFC3394 (0x01u) 84 #define MCUXCLELS_KEYIMPORT_KFMT_PUF (0x02u) 85 #ifdef MCUXCL_FEATURE_ELS_PUK_INTERNAL 86 #define MCUXCLELS_KEYIMPORT_KFMT_PBK (0x03u) 89 #ifdef MCUXCL_FEATURE_ELS_PUK_INTERNAL 90 #define MCUXCLELS_KEYIMPORT_REVERSEFETCH_ENABLE (0x01U) 91 #define MCUXCLELS_KEYIMPORT_REVERSEFETCH_DISABLE (0x00U) 94 #define MCUXCLELS_RFC3394_OVERHEAD ((size_t) 16u) 106 #define MCUXCLELS_RFC3394_CONTAINER_SIZE_128 ((size_t) 256u/8u) 107 #define MCUXCLELS_RFC3394_CONTAINER_SIZE_256 ((size_t) 384u/8u) 108 #ifdef MCUXCL_FEATURE_ELS_PUK_INTERNAL 109 #define MCUXCLELS_RFC3394_CONTAINER_SIZE_P256 ((size_t) 640u/8u) 230 uint8_t
const * pImportKey,
231 size_t importKeyLength,
236 #ifdef MCUXCL_FEATURE_ELS_PUK_INTERNAL 262 uint8_t
const * pCertificate,
263 size_t certificateLength,
264 size_t publicKeyOffset,
265 uint8_t
const * pSignature,
uint32_t kfmt
Defines the key import format, one of MCUXCLELS_KEYIMPORT_KFMT_.
Definition: mcuxClEls_KeyManagement.h:147
uint32_t mcuxClEls_Status_t
Type for ELS driver status codes.
Definition: mcuxClEls_Types.h:211
Type for ELS key store key properties.
Definition: mcuxClEls_Types.h:224
MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_GetKeyProperties(mcuxClEls_KeyIndex_t keyIdx, mcuxClEls_KeyProp_t *pKeyProp)
Exports the properties of the keys stored in the ELS internal keystore.
ELS header for common functionality.
#define MCUXCLELS_API
Marks a function as a public API function of the mcuxClEls component.
Definition: mcuxClEls_Common.h:47
uint32_t value
Accesses the bit field as a full word; initialize with a combination of constants from MCUXCLELS_KEYI...
Definition: mcuxClEls_KeyManagement.h:140
MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_KeyExport_Async(mcuxClEls_KeyIndex_t wrappingKeyIdx, mcuxClEls_KeyIndex_t exportKeyIdx, uint8_t *pOutput)
Exports a key from an internal key register to external storage, using a wrapping key.
MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_KeyDelete_Async(mcuxClEls_KeyIndex_t keyIdx)
Deletes a key from keystore at the given index.
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_KeyImport_Async(mcuxClEls_KeyImportOption_t options, uint8_t const *pImportKey, size_t importKeyLength, mcuxClEls_KeyIndex_t wrappingKeyIdx, mcuxClEls_KeyIndex_t targetKeyIdx)
Imports a key from external storage to an internal key register.
Command option bit field for mcuxClEls_KeyImport_Async.
Definition: mcuxClEls_KeyManagement.h:136
uint32_t mcuxClEls_KeyIndex_t
Type for ELS keystore indices.
Definition: mcuxClEls_Types.h:221
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition: mcuxCsslFlowProtection.h:81
uint32_t revf
This field is managed internally.
Definition: mcuxClEls_KeyManagement.h:145