/* * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef _SECURE_BOOT_BASE_FUNC_H #define _SECURE_BOOT_BASE_FUNC_H #ifdef __cplusplus extern "C" { #endif #include "cc_pal_types.h" #include "secureboot_gen_defs.h" /*---------------------------- PUBLIC FUNCTIONS -----------------------------------*/ /** * @brief This function calculates the HASH over the given data and than verify * RSA signature on that hashed data * * @param[in] hwBaseAddr - CryptoCell base address * @param[in] pData - pointer to the data to be verified * @param[in] pNParams - a pointer to the public key parameters * @param[in] pSignature - a pointer to the signature structure * @param[in] sizeOfData - size of the data to calculate the HASH on (in bytes) * @param[in] RSAAlg - RSA algorithm to use * * @return CCError_t - On success the value CC_OK is returned, * on failure - a value from BootImagesVerifier_error.h */ CCError_t CCSbVerifySignature(unsigned long hwBaseAddress, uint32_t *pData, CCSbNParams_t *pNParams, CCSbSignature_t *pSignature, uint32_t sizeOfData, CCSbRsaAlg_t RSAAlg); #ifdef __cplusplus } #endif #endif