Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 1 | /* |
Antonio de Angelis | 202425a | 2022-04-06 11:13:15 +0100 | [diff] [blame] | 2 | * Copyright (c) 2019-2022, Arm Limited. All rights reserved. |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 3 | * 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 | |
Xinyu Zhang | d755b82 | 2022-10-25 11:18:09 +0800 | [diff] [blame] | 12 | #include "config_crypto.h" |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 13 | #include "tfm_mbedcrypto_include.h" |
| 14 | |
| 15 | #include "tfm_crypto_api.h" |
| 16 | #include "tfm_crypto_defs.h" |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 17 | |
| 18 | /*! |
Antonio de Angelis | 202425a | 2022-04-06 11:13:15 +0100 | [diff] [blame] | 19 | * \addtogroup tfm_crypto_api_shim_layer |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 20 | * |
| 21 | */ |
| 22 | |
| 23 | /*!@{*/ |
Antonio de Angelis | 202425a | 2022-04-06 11:13:15 +0100 | [diff] [blame] | 24 | psa_status_t tfm_crypto_random_interface(psa_invec in_vec[], |
| 25 | psa_outvec out_vec[]) |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 26 | { |
Jianliang Shen | 78ca8d4 | 2022-11-16 17:33:18 +0800 | [diff] [blame] | 27 | #if !CRYPTO_RNG_MODULE_ENABLED |
David Hu | 1eb1194 | 2022-07-05 11:36:34 +0800 | [diff] [blame] | 28 | (void)in_vec; |
| 29 | (void)out_vec; |
| 30 | |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 31 | return PSA_ERROR_NOT_SUPPORTED; |
David Hu | 1eb1194 | 2022-07-05 11:36:34 +0800 | [diff] [blame] | 32 | #else |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 33 | uint8_t *output = out_vec[0].base; |
| 34 | size_t output_size = out_vec[0].len; |
| 35 | |
| 36 | return psa_generate_random(output, output_size); |
David Hu | 1eb1194 | 2022-07-05 11:36:34 +0800 | [diff] [blame] | 37 | #endif |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 38 | } |
Ioannis Glaropoulos | 829aa75 | 2021-06-15 12:37:02 +0200 | [diff] [blame] | 39 | /*!@}*/ |