1 /* 2 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef MBEDCRYPTO_BACKEND_H 8 #define MBEDCRYPTO_BACKEND_H 9 10 #include <stdbool.h> 11 #include <psa/error.h> 12 #include <service/secure_storage/backend/storage_backend.h> 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 /** 19 * \brief Initialize the mbedcrypto based backend 20 * 21 * Initializes a crypto backend that uses the mbedcrypto library built by 22 * MbedTLS to realize the PSA crypto API used by the crypto service proviser. 23 * 24 * \param[in] storage_backend The storage backend to use for persistent keys 25 * \param[in] trng_instance_num The TRNG hardware instance number to use 26 * 27 * \return PSA_SUCCESS if backend initialized successfully 28 */ 29 psa_status_t mbedcrypto_backend_init(struct storage_backend *storage_backend, 30 int trng_instance_num); 31 32 /** 33 * \brief Clean-up to free any resource used by the backend 34 */ 35 void mbedcrypto_backend_deinit(void); 36 37 #ifdef __cplusplus 38 } /* extern "C" */ 39 #endif 40 41 #endif /* MBEDCRYPTO_BACKEND_H */ 42