blob: 328e8eb9e6fad26b49ead8b4de3bb75f68eebfa0 [file] [log] [blame]
Marc Moreno Berengue20dab392017-11-29 13:18:58 +00001/*
Marc Moreno Berengueef202722018-08-10 13:43:43 +01002 * Copyright (c) 2017-2018, Arm Limited. All rights reserved.
Marc Moreno Berengue20dab392017-11-29 13:18:58 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
Marc Moreno Berengueef202722018-08-10 13:43:43 +01008#ifndef __TFM_PLAT_CRYPTO_KEYS_H__
9#define __TFM_PLAT_CRYPTO_KEYS_H__
Marc Moreno Berengue20dab392017-11-29 13:18:58 +000010/**
11 * \note The interfaces defined in this file must be implemented for each
12 * SoC.
13 */
Marc Moreno Berengueef202722018-08-10 13:43:43 +010014
15#include <stdint.h>
16#include "tfm_plat_defs.h"
17
Marc Moreno Berengue20dab392017-11-29 13:18:58 +000018#ifdef __cplusplus
19extern "C" {
20#endif
21
Marc Moreno Berengue20dab392017-11-29 13:18:58 +000022/**
23 * \brief Gets hardware unique key for encryption
24 *
25 * \param[out] key Buf to store the key in
26 * \param[in] size Size of the buffer
27 *
28 * \return Returns error code specified in \ref tfm_plat_errno_t
29 */
Marc Moreno Berengueef202722018-08-10 13:43:43 +010030enum tfm_plat_errno_t tfm_plat_get_crypto_huk(uint8_t *key, uint32_t size);
Marc Moreno Berengue20dab392017-11-29 13:18:58 +000031
32#ifdef __cplusplus
33}
34#endif
35
Marc Moreno Berengueef202722018-08-10 13:43:43 +010036#endif /* __TFM_PLAT_CRYPTO_KEYS_H__ */