Key Establishment Client/Server#
API and Callbacks for the Key Establishment Cluster Client/Server Component.
Silicon Labs implementation of the Smart Energy Key Establishment cluster. The key establishment cluster is used by the Smart Energy profile to perform Certificate-Based Key Establishment (CBKE), which performs mutual authentication and establishes a symmetric APS link key. Direct CBKE between any two non-TC devices is supported after the two devices have completed partner link key exchange via Trust Center. This component defaults to using CBKE functions with the 163k ECC curve support, but users can also choose the 283k1 ECC curve by selecting the 'CBKE 283k1' component.
API#
Enumerations#
Typedefs#
Variables#
Macros#
Init - bytes: suite (2), key gen time (1), derive secret time (1), cert (48)
Terminate - bytes: status (1), wait time (1), suite (2)
The offset within the 163k1 curve certificate struct where the issuer field lives. 22-bytes for Public Key Reconstruction data, and 8-bytes for subject.
The offset within the 283k1 curve certificate struct where the issuer field lives. 22-bytes for Public Key Reconstruction data, and 8-bytes for subject.
These values reported to the remote device as to how long the local device takes to execute these operations.
API Documentation#
checkIssuer#
bool checkIssuer (uint8_t * issuer)
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t * | N/A | issuer |
cleanupAndStopWithDelay#
void cleanupAndStopWithDelay (sl_zigbee_af_key_establishment_notify_message_t message, uint8_t delayInSec)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_af_key_establishment_notify_message_t | N/A | message | |
uint8_t | N/A | delayInSec |
sendCertificate#
sl_zigbee_af_key_establishment_notify_message_t sendCertificate (void )
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
sendNextKeyEstablishMessage#
void sendNextKeyEstablishMessage (sli_zigbee_key_establish_message_t message, uint8_t * data)
Type | Direction | Argument Name | Description |
---|---|---|---|
sli_zigbee_key_establish_message_t | N/A | message | |
uint8_t * | N/A | data |
Enumeration Documentation#
sli_zigbee_key_establish_event_t#
sli_zigbee_key_establish_event_t
Enumerator | |
---|---|
NO_KEY_ESTABLISHMENT_EVENT | |
CHECK_SUPPORTED_CURVES | |
BEGIN_KEY_ESTABLISHMENT | |
GENERATE_KEYS | |
SEND_EPHEMERAL_DATA_MESSAGE | |
GENERATE_SHARED_SECRET | |
SEND_CONFIRM_KEY_MESSAGE | |
INITIATOR_RECEIVED_CONFIRM_KEY |
Typedef Documentation#
Variable Documentation#
sli_zigbee_af_key_establish_message_to_data_size#
const uint8_t sli_zigbee_af_key_establish_message_to_data_size[]
sli_zigbee_af_available_cbke_suite#
sl_zigbee_af_cbke_key_establishment_suite_t sli_zigbee_af_available_cbke_suite
sli_zigbee_af_current_cbke_suite#
sl_zigbee_af_cbke_key_establishment_suite_t sli_zigbee_af_current_cbke_suite
sl_zigbee_af_key_establishment_aps_duplicate_detection_event#
sl_zigbee_af_event_t sl_zigbee_af_key_establishment_aps_duplicate_detection_event