blob: adef12c852e4b67e594ca884893c19745a9b99b0 [file] [log] [blame]
/**
* @file ecp_alt_ax.c
* @author NXP Semiconductors
* @version 1.0
* @par License
*
* Copyright 2017-2018 NXP
* SPDX-License-Identifier: Apache-2.0
*
* @par Description
* Implementation of key association between A71CH and mbedtls.
*
*****************************************************************************/
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#if defined(MBEDTLS_ECP_C)
#include "mbedtls/ecp.h"
#include "mbedtls/version.h"
#include <string.h>
#if defined(MBEDTLS_ECP_ALT) && SSS_HAVE_ALT_A71CH
#include <ax_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;
HLSE_OBJECT_HANDLE backup_type_ax_index;
backup_type_ax_index = grp->hlse_handle;
ret = mbedtls_ecp_tls_read_group_o(grp, buf, len);
grp->hlse_handle = backup_type_ax_index;
return ret;
}
#endif /* MBEDTLS_ECP_ALT */
#endif /* MBEDTLS_ECP_C */