blob: 1dccddf0032da2e353e7bc62fb2b4efa66f4515f [file] [log] [blame]
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +02001/*
Antonio de Angelis202425a2022-04-06 11:13:15 +01002 * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +02003 * Copyright (c) 2021, Nordic Semiconductor ASA.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 *
7 */
8
9#include <stddef.h>
10#include <stdint.h>
11
12#include "tfm_mbedcrypto_include.h"
13
14#include "tfm_crypto_api.h"
15#include "tfm_crypto_defs.h"
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020016
17/*!
Antonio de Angelis202425a2022-04-06 11:13:15 +010018 * \addtogroup tfm_crypto_api_shim_layer
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020019 *
20 */
21
22/*!@{*/
Antonio de Angelis202425a2022-04-06 11:13:15 +010023psa_status_t tfm_crypto_random_interface(psa_invec in_vec[],
24 psa_outvec out_vec[])
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020025{
26#ifdef TFM_CRYPTO_RNG_MODULE_DISABLED
27 return PSA_ERROR_NOT_SUPPORTED;
Antonio de Angelis202425a2022-04-06 11:13:15 +010028#endif
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020029 uint8_t *output = out_vec[0].base;
30 size_t output_size = out_vec[0].len;
31
32 return psa_generate_random(output, output_size);
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020033}
Ioannis Glaropoulos829aa752021-06-15 12:37:02 +020034/*!@}*/