40#ifndef MCUXCLKEY_FUNCTIONS_H_
41#define MCUXCLKEY_FUNCTIONS_H_
43#include <mcuxClConfig.h>
48#ifdef MCUXCL_FEATURE_KEY_DERIVATION
97 const uint8_t * pKeyData,
98 uint32_t keyDataLength
144 const uint8_t * pAuxData,
145 uint32_t auxDataLength
207#ifdef MCUXCL_FEATURE_KEY_DERIVATION
232 mcuxClKey_Derivation_t derivationMode,
234 mcuxClKey_DerivationInput_t inputs[],
235 uint32_t numberOfInputs,
299 mcuxClKey_Agreement_AdditionalInput_t additionalInputs[],
300 uint32_t numberOfInputs,
302 uint32_t * const pOutLength
305#ifdef MCUXCL_FEATURE_KEY_SELFTEST
310 mcuxClKey_Test_t test
343 const uint8_t * pPlainKeyData,
344 uint32_t plainKeyDataLength,
345 const uint8_t * pAuxData,
346 uint32_t auxDataLength,
347 uint8_t * pEncodedKeyData,
348 uint32_t * const pEncodedKeyDataLength
383 const uint8_t * pAuxData,
384 uint32_t auxDataLength,
385 uint8_t * pEncodedKeyData,
386 uint32_t * const pEncodedKeyDataLength
Definition of function identifiers for the flow protection mechanism.
Type definitions for the mcuxClKey component.
Type definitions for the mcuxClMac component.
Top-level include file for the mcuxClSession component.
Type definitions for the mcuxClSession component.
Provides the API for the CSSL flow protection mechanism.
mcuxClKey_Status_t mcuxClKey_recode(mcuxClSession_Handle_t session, mcuxClKey_Handle_t encodedKey, mcuxClKey_Encoding_t encoding, mcuxClKey_Handle_t recodedKey, const uint8_t *pAuxData, uint32_t auxDataLength, uint8_t *pEncodedKeyData, uint32_t *const pEncodedKeyDataLength)
Key recoding (re-encoding) function to apply a new encoding to key material.
void mcuxClKey_linkKeyPair(mcuxClSession_Handle_t session, mcuxClKey_Handle_t privKey, mcuxClKey_Handle_t pubKey)
Establishes a key pair link between a private and public key handle.
mcuxClKey_Status_t mcuxClKey_init(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClKey_Type_t type, const uint8_t *pKeyData, uint32_t keyDataLength)
Initializes a key handle.
mcuxClKey_Status_t mcuxClKey_flush(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key)
Flush key from destination which can be a key slot of coprocessor or memory buffer.
mcuxClKey_Status_t mcuxClKey_loadCopro(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, uint32_t loadOptions)
Load key into destination key slot of a coprocessor.
mcuxClKey_Status_t mcuxClKey_validate(mcuxClSession_Handle_t session, mcuxClKey_Validation_t validation, mcuxClKey_Handle_t key)
Key validation function.
mcuxClKey_Status_t mcuxClKey_setEncoding(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClKey_Encoding_t encoding, const uint8_t *pAuxData, uint32_t auxDataLength)
Configures the encoding mechanism for the given key handle.
mcuxClKey_Status_t mcuxClKey_generate_keypair(mcuxClSession_Handle_t session, mcuxClKey_Generation_t generation, mcuxClKey_Handle_t privKey, mcuxClKey_Handle_t pubKey)
Key-pair generation function.
mcuxClKey_Status_t mcuxClKey_encode(mcuxClSession_Handle_t session, mcuxClKey_Encoding_t encoding, mcuxClKey_Handle_t encodedKey, mcuxClKey_Type_t type, const uint8_t *pPlainKeyData, uint32_t plainKeyDataLength, const uint8_t *pAuxData, uint32_t auxDataLength, uint8_t *pEncodedKeyData, uint32_t *const pEncodedKeyDataLength)
Key descriptor initialization function including applying a encoding mechanism.
mcuxClKey_Status_t mcuxClKey_agreement(mcuxClSession_Handle_t session, mcuxClKey_Agreement_t agreement, mcuxClKey_Handle_t key, mcuxClKey_Handle_t otherKey, mcuxClKey_Agreement_AdditionalInput_t additionalInputs[], uint32_t numberOfInputs, uint8_t *pOut, uint32_t *const pOutLength)
Key agreement function.
const mcuxClKey_ValidationDescriptor_t *const mcuxClKey_Validation_t
Generic key validation type.
Definition mcuxClKey_Types.h:329
const mcuxClKey_EncodingDescriptor_t * mcuxClKey_Encoding_t
Key encoding mechanism type.
Definition mcuxClKey_Types.h:164
const mcuxClKey_TypeDescriptor_t * mcuxClKey_Type_t
Key type handle type.
Definition mcuxClKey_Types.h:134
uint32_t mcuxClKey_Status_t
Type for Key component error codes.
Definition mcuxClKey_Types.h:65
const mcuxClKey_GenerationDescriptor_t *const mcuxClKey_Generation_t
Key generation type.
Definition mcuxClKey_Types.h:246
const mcuxClKey_AgreementDescriptor_t *const mcuxClKey_Agreement_t
Key agreement type.
Definition mcuxClKey_Types.h:197
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition mcuxClKey_Types.h:111
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:118
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:186
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:158