blob: 73e0a8a2a9383886800dd49dff6662f30e3c78fa [file] [log] [blame]
/** @file
* @brief Keys APIs.
*/
/*
* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_
#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_
#include <stdint.h>
#if defined CONFIG_BT_MESH_USES_MBEDTLS_PSA || defined CONFIG_BT_MESH_USES_TFM_PSA
#include <psa/crypto.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined CONFIG_BT_MESH_USES_MBEDTLS_PSA || defined CONFIG_BT_MESH_USES_TFM_PSA
/** The structure that keeps representation of key. */
struct bt_mesh_key {
/** PSA key representation is the PSA key identifier. */
psa_key_id_t key;
};
#elif defined CONFIG_BT_MESH_USES_TINYCRYPT
/** The structure that keeps representation of key. */
struct bt_mesh_key {
/** tinycrypt key representation is the pure key value. */
uint8_t key[16];
};
#else
#error "Crypto library has not been chosen"
#endif
#ifdef __cplusplus
}
#endif
#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_ */