blob: 14e4ac052fdacd69ea5148658814f51fe90a51b8 [file] [log] [blame]
/**
* @file ecp_alt_ax.c
* @author NXP Semiconductors
* @version 1.0
* @par License
*
* Copyright 2017-2019 NXP
* SPDX-License-Identifier: Apache-2.0
*
* @par Description
* Implementation of key association between NXP Secure Element and mbedtls.
*
*****************************************************************************/
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#if defined(MBEDTLS_ECP_C)
#include <string.h>
#include "mbedtls/ecp.h"
#include "mbedtls/version.h"
#if defined(MBEDTLS_ECP_ALT) && SSS_HAVE_ALT_SSS
#include <sss_mbedtls.h>
/*
* Unallocate (the components of) a key pair
*/
void mbedtls_ecp_keypair_free_o(mbedtls_ecp_keypair *key);
void mbedtls_ecp_keypair_free(mbedtls_ecp_keypair *key)
{
if (key == NULL)
return;
// if ( key->grp.hlse_handle != 0 )
// {
// key->grp.hlse_handle = 0;
// }
mbedtls_ecp_keypair_free_o(key);
}
/*
* Set a group from an ECParameters record (RFC 4492)
*/
int mbedtls_ecp_tls_read_group(mbedtls_ecp_group *grp, const unsigned char **buf, size_t len)
{
int ret;
sss_object_t *backup_type_SSS_Object = grp->pSSSObject;
sss_key_store_t *backup_type_hostKs = grp->hostKs;
ret = mbedtls_ecp_tls_read_group_o(grp, buf, len);
grp->pSSSObject = backup_type_SSS_Object;
grp->hostKs = backup_type_hostKs;
return ret;
}
#endif /* MBEDTLS_ECP_ALT */
#endif /* MBEDTLS_ECP_C */