Network Creator Security#

API and Callbacks for the Network Creator Security Component.

This component performs the necessary security initialization to form a Zigbee 3.0-compliant network. To enable "Allow Trust Center rejoin with well known key", the "sl_zigbee_xncp_security_trust_center_join_cb()" function (on the NCP side) may need to be implemented. For more details about this callback function, see "https://www.silabs.com/community/wireless/zigbee-and-thread/knowledge-base.entry.html/2018/12/26/how_to_allow_unsecur-sa3C". If the link does not work, go to our community website and search "How to allow unsecure rejoins on the Ember ZNet stack".

API#

Initialize the security needed for forming and then operating on a network.

sl_zigbee_af_network_creator_security_open_network_with_key_pair(sl_802154_long_addr_t eui64, sl_zigbee_key_data_t keyData)

Set the network to accept the install code only.

Set the insecure rejoin policy for devices using the well-known key.

Variables#

API Documentation#

sl_zigbee_af_network_creator_security_start#

sl_status_t sl_zigbee_af_network_creator_security_start (bool centralizedNetwork)

Initialize the security needed for forming and then operating on a network.

Parameters
N/AcentralizedNetwork

Whether or not the network that the caller plans to form will use centralized or distributed security.

The centralizedNetwork parameter allows the caller to specify whether or not the network that they plan to form will use centralized or distributed security.

Returns

  • Status of the commencement of the network creator process.


Definition at line 77 of file app/framework/plugin/network-creator-security/network-creator-security.h

sl_zigbee_af_network_creator_security_open_network#

sl_status_t sl_zigbee_af_network_creator_security_open_network (void )

Open a network for joining.

Parameters
N/A

This API broadcasts a permit join to the network and adds a transient link key of ZigBeeAlliance09 if this device is a trust center.

Returns

  • An sl_status_t value describing the success or failure of the network opening procedure. If this node is not currently on a network, this will return SL_STATUS_FAIL.


Definition at line 89 of file app/framework/plugin/network-creator-security/network-creator-security.h

sl_zigbee_af_network_creator_security_close_network#

sl_status_t sl_zigbee_af_network_creator_security_close_network (void )

Close the network.

Parameters
N/A

This API closes the network for joining. It broadcasts a permit join to the network with time 0, as well as clears any transient link keys in the stack.

Returns

  • An sl_status_t value describing closing the network. If this node is not currently on a network, this will return SL_STATUS_FAIL. This API will also return an error code based on the success or failure of the broadcast permit join.


Definition at line 102 of file app/framework/plugin/network-creator-security/network-creator-security.h

sl_zigbee_af_network_creator_security_open_network_with_key_pair#

sl_status_t sl_zigbee_af_network_creator_security_open_network_with_key_pair (sl_802154_long_addr_t eui64, sl_zigbee_key_data_t keyData)

Set the network to accept the install code only.

Parameters
N/Aeui64

EUI 64 of the joining node.

N/AkeyData

the link key to be used by the joining node.

This API opens a network for joining. It broadcasts a permit join to the network and adds a specified EUI64 and transient key pair if this device is a trust center. Only the node that matches the specified key pair is allowed to join the network.

Returns

  • An sl_status_t value describing the success or failure of the network opening procedure. If this node is not currently on a network, this will return SL_STATUS_FAIL.


Definition at line 119 of file app/framework/plugin/network-creator-security/network-creator-security.h

sl_zigbee_af_network_creator_security_set_allow_rejoins_with_well_known_key#

sl_status_t sl_zigbee_af_network_creator_security_set_allow_rejoins_with_well_known_key (bool allow)

Set the insecure rejoin policy for devices using the well-known key.

Parameters
N/Aallow

This API sets the policy for Trust Center (insecure) rejoins for devices using the well-known key. Sending a network key to devices using the well- known key is a security risk and the default policy of the stack is to deny such rejoins. Calling this function to allow rejoins with the well-known key will allow the rejoins for a period of sli_zigbee_allow_tc_rejoins_using_well_known_key_timeout_sec seconds.

Returns

  • An sl_status_t value describing the success or failure of the policy change. If this node is not currently on a network, this will return SL_STATUS_FAIL.


Definition at line 135 of file app/framework/plugin/network-creator-security/network-creator-security.h

Variable Documentation#

allowHaDevices#

bool allowHaDevices

Definition at line 55 of file app/framework/plugin/network-creator-security/network-creator-security.h

Macro Definition Documentation#

SL_ZIGBEE_AF_PLUGIN_NETWORK_CREATOR_SECURITY_PLUGIN_NAME#

#define SL_ZIGBEE_AF_PLUGIN_NETWORK_CREATOR_SECURITY_PLUGIN_NAME
Value:
"NWK Creator Security"

Definition at line 50 of file app/framework/plugin/network-creator-security/network-creator-security.h