MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClKey_Functions.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-2023 NXP */
3 /* */
4 /* NXP Confidential. This software is owned or controlled by NXP and may */
5 /* only be used strictly in accordance with the applicable license terms. */
6 /* By expressly accepting such terms or by downloading, installing, */
7 /* activating and/or otherwise using the software, you are agreeing that */
8 /* you have read, and that you agree to comply with and are bound by, such */
9 /* license terms. If you do not agree to be bound by the applicable license */
10 /* terms, then you may not retain, install, activate or otherwise use the */
11 /* software. */
12 /*--------------------------------------------------------------------------*/
13 
20 #ifndef MCUXCLKEY_FUNCTIONS_H_
21 #define MCUXCLKEY_FUNCTIONS_H_
22 
23 #include <mcuxClConfig.h> // Exported features flags header
24 #include <mcuxClSession.h>
25 #include <mcuxClSession_Types.h>
26 
27 #include <mcuxClKey_Types.h>
28 
29 #include <mcuxCsslFlowProtection.h>
31 #include <mcuxClCore_Buffer.h>
32 #include <mcuxClEls.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /**********************************************
39  * FUNCTIONS
40  **********************************************/
41 
77 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_init)
79  mcuxClSession_Handle_t pSession,
81  mcuxClKey_Type_t type,
82  mcuxCl_InputBuffer_t pKeyData,
83  uint32_t keyDataLength
84 );
85 
102 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_linkKeyPair)
103 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClKey_Status_t) mcuxClKey_linkKeyPair(
104  mcuxClSession_Handle_t pSession,
105  mcuxClKey_Handle_t privKey,
106  mcuxClKey_Handle_t pubKey
107 );
108 
127 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_setProtection)
128 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClKey_Status_t) mcuxClKey_setProtection(
129  mcuxClSession_Handle_t pSession,
130  mcuxClKey_Handle_t key,
131  mcuxClKey_Protection_t protection,
132  mcuxCl_Buffer_t pAuxData,
133  mcuxClKey_Handle_t parentKey
134 );
135 
152 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_loadCopro)
154  mcuxClSession_Handle_t pSession,
155  mcuxClKey_Handle_t key,
156  uint32_t dstSlot
157 );
158 
175 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_loadMemory)
176 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClKey_Status_t) mcuxClKey_loadMemory(
177  mcuxClSession_Handle_t pSession,
178  mcuxClKey_Handle_t key,
179  uint32_t * dstData
180 );
181 
197 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_flush)
199  mcuxClSession_Handle_t pSession,
201 );
202 
203 
204 
220 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClKey_setKeyproperties)
221 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClKey_Status_t) mcuxClKey_setKeyproperties(
222  mcuxClKey_Handle_t key,
223  mcuxClEls_KeyProp_t * key_properties
224 );
225 
226 
227 
228 
229 
230  /* mcuxClKey_Functions */
234 
235 #ifdef __cplusplus
236 } /* extern "C" */
237 #endif
238 
239 #endif /* MCUXCLKEY_FUNCTIONS_H_ */
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:124
const mcuxClKey_ProtectionDescriptor_t * mcuxClKey_Protection_t
Key protection mechanism type.
Definition: mcuxClKey_Types.h:140
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition: mcuxClKey_Types.h:87
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
uint8_t *const mcuxCl_Buffer_t
Generic buffer typeThis type provides a pointer to the memory location that can be used for both read...
Definition: mcuxClCore_Buffer.h:51
Type for ELS key store key properties.
Definition: mcuxClEls_Types.h:224
Type definitions for the mcuxClSession component.
Definition of function identifiers for the flow protection mechanism.
Top-level include file for the ELS driver.
uint32_t mcuxClKey_Status_t
Type for Key component error codes.
Definition: mcuxClKey_Types.h:46
const uint8_t *const mcuxCl_InputBuffer_t
Input buffer typeThis type provides a pointer to the memory location that should be used to read inpu...
Definition: mcuxClCore_Buffer.h:42
const mcuxClKey_TypeDescriptor_t * mcuxClKey_Type_t
Key type handle type.
Definition: mcuxClKey_Types.h:110
Top-level include file for the mcuxClSession component.
Provides the API for the CSSL flow protection mechanism.
Type definitions for the mcuxClKey component.
MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClKey_Status_t) mcuxClKey_init(mcuxClSession_Handle_t pSession
Initializes a key handle.
Definition: mcuxCsslFlowProtection_example.c:137