MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClKey_Types.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
19#ifndef MCUXCLKEY_TYPES_H_
20#define MCUXCLKEY_TYPES_H_
21
22#include <stdint.h>
23#include <stdbool.h>
24#include <mcuxClConfig.h> // Exported features flags header
25#include <mcuxCsslAnalysis.h>
28#include <mcuxClBuffer.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34/**********************************************
35 * TYPEDEFS
36 **********************************************/
47typedef uint32_t mcuxClKey_Status_t;
48
52typedef uint16_t mcuxClKey_AlgorithmId_t;
53
57typedef uint32_t mcuxClKey_Size_t;
58
63
64/* Forward declaration */
65struct mcuxClKey_Protection;
66
73struct mcuxClKey_Descriptor;
74
81typedef struct mcuxClKey_Descriptor mcuxClKey_Descriptor_t;
82
89
96struct mcuxClKey_TypeDescriptor;
97
104typedef struct mcuxClKey_TypeDescriptor mcuxClKey_TypeDescriptor_t;
105
112
119
126struct mcuxClKey_ProtectionDescriptor;
127
134typedef struct mcuxClKey_ProtectionDescriptor mcuxClKey_ProtectionDescriptor_t;
135
142
143#ifdef MCUXCL_FEATURE_KEY_AGREEMENT
147struct mcuxClKey_Agreement_AdditionalInput{
149 uint32_t size;
150};
151
152typedef struct mcuxClKey_Agreement_AdditionalInput mcuxClKey_Agreement_AdditionalInput_t;
153
160struct mcuxClKey_AgreementDescriptor;
161
168typedef struct mcuxClKey_AgreementDescriptor mcuxClKey_AgreementDescriptor_t;
169
175typedef const mcuxClKey_AgreementDescriptor_t * const mcuxClKey_Agreement_t;
176
177#endif /* MCUXCL_FEATURE_KEY_AGREEMENT */
178
179#ifdef MCUXCL_FEATURE_KEY_SELFTEST
180
187struct mcuxClKey_TestDescriptor;
188
195typedef struct mcuxClKey_TestDescriptor mcuxClKey_TestDescriptor_t;
196
202typedef const mcuxClKey_TestDescriptor_t * const mcuxClKey_Test_t;
203#endif /* MCUXCL_FEATURE_KEY_SELFTEST */
210struct mcuxClKey_GenerationDescriptor;
211
218typedef struct mcuxClKey_GenerationDescriptor mcuxClKey_GenerationDescriptor_t;
219
226
227
228#ifdef MCUXCL_FEATURE_KEY_DERIVATION
232struct mcuxClKey_DerivationAlgorithmDescriptor;
233
237typedef struct mcuxClKey_DerivationAlgorithmDescriptor mcuxClKey_DerivationAlgorithmDescriptor_t;
238
242typedef const mcuxClKey_DerivationAlgorithmDescriptor_t * const mcuxClKey_DerivationAlgorithm_t;
243
247struct mcuxClKey_DerivationInput {
249 uint32_t size;
250};
251
255typedef struct mcuxClKey_DerivationInput mcuxClKey_DerivationInput_t;
256
263struct mcuxClKey_DerivationMode;
264
271typedef struct mcuxClKey_DerivationMode mcuxClKey_DerivationMode_t;
272
279typedef const mcuxClKey_DerivationMode_t * mcuxClKey_Derivation_t;
280
285extern const mcuxClKey_TypeDescriptor_t mcuxClKey_TypeDescriptor_derivationKey_variableLength;
286
291MCUX_CSSL_ANALYSIS_START_SUPPRESS_DECLARED_BUT_NEVER_REFERENCED("Consumed by user / customer. Hence, it is declared but never referenced. ")
292static const mcuxClKey_Type_t mcuxClKey_Type_derivationKey_variableLength = &mcuxClKey_TypeDescriptor_derivationKey_variableLength;
293MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_DECLARED_BUT_NEVER_REFERENCED()
294#endif /* MCUXCL_FEATURE_KEY_DERIVATION */
295
296 /* mcuxClKey_Types */
300
301#ifdef __cplusplus
302} /* extern "C" */
303#endif
304
305#endif /* MCUXCLKEY_TYPES_H_ */
Provides the API for the CL buffer types.
Definition of function identifiers for the flow protection mechanism.
Provides the API for the CSSL flow protection mechanism.
const uint8_t * mcuxCl_InputBuffer_t
Input buffer type.
Definition mcuxClBuffer_Pointer.h:46
struct mcuxClKey_Descriptor mcuxClKey_Descriptor_t
Key descriptor type.
Definition mcuxClKey_Types.h:81
struct mcuxClKey_ProtectionDescriptor mcuxClKey_ProtectionDescriptor_t
Key protection mechanism descriptor type.
Definition mcuxClKey_Types.h:134
uint16_t mcuxClKey_AlgorithmId_t
Type for algorithm based key id.
Definition mcuxClKey_Types.h:52
mcuxClKey_TypeDescriptor_t * mcuxClKey_CustomType_t
Custom key type handle type.
Definition mcuxClKey_Types.h:118
uint32_t mcuxClKey_Size_t
Type for algorithm based key size.
Definition mcuxClKey_Types.h:57
mcuxClKey_Status_t mcuxClKey_Status_Protected_t
Deprecated type for Key component error codes, returned by functions with code-flow protection.
Definition mcuxClKey_Types.h:62
const mcuxClKey_TypeDescriptor_t * mcuxClKey_Type_t
Key type handle type.
Definition mcuxClKey_Types.h:111
uint32_t mcuxClKey_Status_t
Type for Key component error codes.
Definition mcuxClKey_Types.h:47
struct mcuxClKey_GenerationDescriptor mcuxClKey_GenerationDescriptor_t
Key generation descriptor type.
Definition mcuxClKey_Types.h:218
const mcuxClKey_ProtectionDescriptor_t * mcuxClKey_Protection_t
Key protection mechanism type.
Definition mcuxClKey_Types.h:141
const mcuxClKey_GenerationDescriptor_t *const mcuxClKey_Generation_t
Key generation type.
Definition mcuxClKey_Types.h:225
struct mcuxClKey_TypeDescriptor mcuxClKey_TypeDescriptor_t
Key type descriptor type.
Definition mcuxClKey_Types.h:104
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition mcuxClKey_Types.h:88
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:81