| /* |
| * 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 |