Z-Wave Protocol Controller Reference
zwave_s2_keystore.c File Reference
#include "zwave_s2_keystore.h"
#include "zwave_s2_keystore_int.h"
#include "stddef.h"
#include "S2.h"
#include "curve25519.h"
#include "s2_keystore.h"
#include "zwapi_init.h"
#include "zwapi_protocol_basis.h"
#include "zwapi_protocol_mem.h"
#include "zwave_s0_transport.h"
#include "sl_log.h"
#include "zwave_controller_endian.h"
Include dependency graph for zwave_s2_keystore.c:

Macros

#define LOG_TAG   "zwave_s2_keystore"
 Must be included before S2.h (because of definition of offsetof) More...
 
#define S2_NUM_KEY_CLASSES   (s2_get_key_count()) /* Includes the S0 key */
 
#define NETWORK_KEY_SIZE   16
 

Functions

bool keystore_network_key_clear (uint8_t keyclass)
 
void keystore_dynamic_private_key_read (uint8_t *buf)
 
void keystore_private_key_read (uint8_t *buf)
 
void keystore_public_key_debug_print (void)
 
void keystore_dynamic_public_key_read (uint8_t *buf)
 
void keystore_public_key_read (uint8_t *buf)
 
bool keystore_network_key_read (uint8_t keyclass, uint8_t *buf)
 
void write_key_to_file (uint8_t *key, FILE *f, bool is_key_s0)
 
void zwave_s2_save_security_keys (const char *filename)
 
void zwave_s2_log_security_keys (sl_log_level_t log_level)
 
bool keystore_network_key_write (uint8_t keyclass, const uint8_t *buf)
 
void zwave_s2_keystore_set_ecdh_key_mode (zwave_s2_keystore_ecdh_key_mode_t mode)
 Set ecdh key mode for use in zwave_s2_keystore. More...
 
uint8_t zwave_s2_keystore_get_assigned_keys ()
 Get the set of the currently assigned keys. More...
 
void zwave_s2_keystore_reset_assigned_keys ()
 Resets the list of assigned keys (sets them to 0) Use this function before receiving keys when entering in a network. More...
 
void zwave_s2_create_new_dynamic_ecdh_key ()
 
static void zwave_s2_create_new_learn_mode_ecdh_key ()
 
void zwave_s2_create_new_network_keys ()
 
void zwave_s2_keystore_init ()
 Initialize the keystore. More...
 
void zwave_s2_keystore_get_dsk (zwave_s2_keystore_ecdh_key_mode_t mode, zwave_dsk_t dsk)
 Return one of the DSKs of the controller. More...
 

Variables

uint8_t dynamic_ecdh_private_key [32]
 
static zwave_s2_keystore_ecdh_key_mode_t ecdh_key_mode
 

Macro Definition Documentation

◆ LOG_TAG

#define LOG_TAG   "zwave_s2_keystore"

Must be included before S2.h (because of definition of offsetof)

libs2 includes zwave_api includes Other

◆ NETWORK_KEY_SIZE

#define NETWORK_KEY_SIZE   16

◆ S2_NUM_KEY_CLASSES

#define S2_NUM_KEY_CLASSES   (s2_get_key_count()) /* Includes the S0 key */

Function Documentation

◆ keystore_dynamic_private_key_read()

void keystore_dynamic_private_key_read ( uint8_t *  buf)
Here is the call graph for this function:

◆ keystore_dynamic_public_key_read()

void keystore_dynamic_public_key_read ( uint8_t *  buf)
Here is the call graph for this function:

◆ keystore_network_key_clear()

bool keystore_network_key_clear ( uint8_t  keyclass)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ keystore_network_key_read()

bool keystore_network_key_read ( uint8_t  keyclass,
uint8_t *  buf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ keystore_network_key_write()

bool keystore_network_key_write ( uint8_t  keyclass,
const uint8_t *  buf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ keystore_private_key_read()

void keystore_private_key_read ( uint8_t *  buf)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ keystore_public_key_debug_print()

void keystore_public_key_debug_print ( void  )
Here is the call graph for this function:

◆ keystore_public_key_read()

void keystore_public_key_read ( uint8_t *  buf)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_key_to_file()

void write_key_to_file ( uint8_t *  key,
FILE *  f,
bool  is_key_s0 
)
Here is the caller graph for this function:

◆ zwave_s2_create_new_learn_mode_ecdh_key()

static void zwave_s2_create_new_learn_mode_ecdh_key ( )
static
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ dynamic_ecdh_private_key

uint8_t dynamic_ecdh_private_key[32]

◆ ecdh_key_mode

zwave_s2_keystore_ecdh_key_mode_t ecdh_key_mode
static