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 
79  mcuxClSession_Handle_t pSession,
81  mcuxClKey_Type_t type,
82  mcuxCl_InputBuffer_t pKeyData,
83  uint32_t keyDataLength
84 );
85 
104  mcuxClSession_Handle_t pSession,
105  mcuxClKey_Handle_t privKey,
106  mcuxClKey_Handle_t pubKey
107 );
108 
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 
154  mcuxClSession_Handle_t pSession,
155  mcuxClKey_Handle_t key,
156  uint32_t dstSlot
157 );
158 
177  mcuxClSession_Handle_t pSession,
178  mcuxClKey_Handle_t key,
179  uint32_t * dstData
180 );
181 
199  mcuxClSession_Handle_t pSession,
201 );
202 
203 
204 
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_ */
Top-level include file for the ELS driver.
const mcuxClKey_TypeDescriptor_t * mcuxClKey_Type_t
Key type handle type.
Definition: mcuxClKey_Types.h:111
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition: mcuxClKey_Types.h:88
Provides the API for the CSSL flow protection mechanism.
uint32_t mcuxClKey_Status_t
Type for Key component error codes.
Definition: mcuxClKey_Types.h:47
mcuxClKey_Status_t mcuxClKey_setProtection(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key, mcuxClKey_Protection_t protection, mcuxCl_Buffer_t pAuxData, mcuxClKey_Handle_t parentKey)
Configures they protection mechanism for to the given key handle.
mcuxClKey_Status_t mcuxClKey_setKeyproperties(mcuxClKey_Handle_t key, mcuxClEls_KeyProp_t *key_properties)
Set the requested key properties of the destination key.
Type definitions for the mcuxClSession component.
const mcuxClKey_ProtectionDescriptor_t * mcuxClKey_Protection_t
Key protection mechanism type.
Definition: mcuxClKey_Types.h:141
mcuxClKey_Status_t mcuxClKey_flush(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key)
Flush key from destination which can be a key slot of coprocessor or memory buffer.
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
Top-level include file for the mcuxClSession component.
Type for ELS key store key properties.
Definition: mcuxClEls_Types.h:224
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:133
mcuxClKey_Status_t mcuxClKey_loadMemory(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key, uint32_t *dstData)
Load key into destination memory buffer.
Definition of function identifiers for the flow protection mechanism.
mcuxClKey_Status_t mcuxClKey_loadCopro(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key, uint32_t dstSlot)
Load key into destination key slot of a coprocessor.
mcuxClKey_Status_t mcuxClKey_linkKeyPair(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t privKey, mcuxClKey_Handle_t pubKey)
Establishes a key pair link between a private and public key handle.
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition: mcuxCsslFlowProtection.h:81
Type definitions for the mcuxClKey component.
mcuxClKey_Status_t mcuxClKey_init(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key, mcuxClKey_Type_t type, mcuxCl_InputBuffer_t pKeyData, uint32_t keyDataLength)
Initializes a key handle.
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
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