MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClEls_KeyManagement_Functions

Defines all functions of mcuxClEls_KeyManagement. More...

Functions

MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_KeyDelete_Async (mcuxClEls_KeyIndex_t keyIdx)
 Deletes a key from keystore at the given index. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Defines all functions of mcuxClEls_KeyManagement.

Function Documentation

◆ mcuxClEls_KeyDelete_Async()

MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_KeyDelete_Async ( mcuxClEls_KeyIndex_t  keyIdx)

Deletes a key from keystore at the given index.

Before execution, ELS will wait until mcuxClEls_HwState_t.drbgentlvl == MCUXCLELS_STATUS_DRBGENTLVL_LOW. This can lead to a delay if the DRBG is in a state with less security strength at the time of the call.

Call mcuxClEls_WaitForOperation to complete the operation.

Parameters
[in]keyIdxThe index of the key to be deleted
Returns
An error code that can be any error code in MCUXCLELS_STATUS_, see individual documentation for more information
Return values
MCUXCLELS_STATUS_SW_INVALID_PARAMif invalid parameters were specified
MCUXCLELS_STATUS_SW_CANNOT_INTERRUPTif a running operation prevented the request
MCUXCLELS_STATUS_SW_FAULTif a failure occurred
MCUXCLELS_STATUS_OK_WAITon successful request
Examples
mcuxClPsaDriver_keygen_export_public_key_oracle_example.c.

◆ mcuxClEls_KeyImport_Async()

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.

Call mcuxClEls_WaitForOperation to complete the operation.

Parameters
[in]optionsOne of MCUXCLELS_KEYIMPORT_KFMT_
[in]pImportKeyPointer to the RFC3394 container of the key to be imported
[in]importKeyLengthLength of the RFC3394 container of the key to be imported
[in]wrappingKeyIdxIndex of the key wrapping key, if importing RFC3394 format
[in]targetKeyIdxThe desired key index of the imported key
Parameter properties
options.kfmt != MCUXCLELS_KEYIMPORT_KFMT_RFC3394
  • pImportKey is ignored.
  • importKeyLength is ignored.
  • wrappingKeyIdx is ignored.
  • targetKeyIdx is ignored. The unpacked key is automatically stored in key slots 0, 1.
Returns
An error code that can be any error code in MCUXCLELS_STATUS_, see individual documentation for more information
Return values
MCUXCLELS_STATUS_SW_INVALID_PARAMif invalid parameters were specified
MCUXCLELS_STATUS_SW_CANNOT_INTERRUPTif a running operation prevented the request
MCUXCLELS_STATUS_OK_WAITon successful request
Examples
mcuxClPsaDriver_keygen_export_public_key_oracle_example.c.

◆ mcuxClEls_KeyExport_Async()

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.

Call mcuxClEls_WaitForOperation to complete the operation.

Parameters
[in]wrappingKeyIdxThe key used for key wrapping
[in]exportKeyIdxThe key to export
[out]pOutputThe memory address of the exported key
Returns
An error code that can be any error code in MCUXCLELS_STATUS_, see individual documentation for more information
Return values
MCUXCLELS_STATUS_SW_INVALID_PARAMif invalid parameters were specified
MCUXCLELS_STATUS_SW_CANNOT_INTERRUPTif a running operation prevented the request
MCUXCLELS_STATUS_OK_WAITon successful request
Parameters
[in]wrappingKeyIdxThe key used for key wrapping
[in]exportKeyIdxThe key to export
[out]pOutputThe memory address of the exported key

◆ mcuxClEls_GetKeyProperties()

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.

Call mcuxClEls_WaitForOperation to complete the operation.

Parameters
[in]keyIdxRequest key properties of the index defined here
[out]pKeyPropKey properties of the index provided
Returns
An error code that can be any error code in MCUXCLELS_STATUS_, see individual documentation for more information
Return values
MCUXCLELS_STATUS_SW_CANNOT_INTERRUPTif a running operation prevented the request
MCUXCLELS_STATUS_OKon successful request
Examples
mcuxClEls_Tls_Master_Key_Session_Keys_example.c.