Secure_LinkGENERAL_API
APIs for Secure link configuration and usage.
Data Structures |
|
struct | sl_wfx_set_sl_mac_key_req_body_t |
Set the Secure Link MAC key.
|
|
struct | sl_wfx_set_sl_mac_key_cnf_body_t |
Confirmation for the Secure Link MAC key setting.
|
|
struct | sl_wfx_securelink_exchange_pub_keys_req_body_t |
Exchange Secure Link Public Keys.
|
|
struct | sl_wfx_securelink_exchange_pub_keys_cnf_body_t |
Confirmation for exchange of Secure Link Public Keys.
|
|
struct | sl_wfx_securelink_configure_req_body_t |
Configure Secure Link Layer.
|
|
struct | sl_wfx_securelink_configure_cnf_body_t |
Confirmation of Secure Link Layer configuration
sl_wfx_securelink_configure_req_body_t
.
|
Enumerations |
|
enum |
sl_wfx_secure_link_state_t
{
SECURE_LINK_NA_MODE = 0x0, SECURE_LINK_UNTRUSTED_MODE = 0x1, SECURE_LINK_TRUSTED_MODE = 0x2, SECURE_LINK_TRUSTED_ACTIVE_ENFORCED = 0x3 } |
*Secure Link' device state
|
|
enum |
sl_wfx_securelink_mac_key_dest_t
{
SL_MAC_KEY_DEST_OTP = 0x78, SL_MAC_KEY_DEST_RAM = 0x87 } |
destination of the
Secure Link MAC key
, used by request message
sl_wfx_set_sl_mac_key_req_body_t
|
|
enum |
sl_wfx_securelink_configure_skey_invld_t
{
SL_CONFIGURE_SKEY_INVLD_INVALIDATE = 0x87, SL_CONFIGURE_SKEY_INVLD_NOP = 0x00 } |
used in request message
sl_wfx_securelink_configure_req_body_t
to trigger
Session Key
invalidation
|
Detailed Description
APIs for Secure link configuration and usage.
WFX family of product have the ability to encrypt the SDIO or SPI link.
Link to more detailed documentation about the Secure Link feature : SecureLink
Data Structure Documentation
◆ sl_wfx_set_sl_mac_key_req_body_t
struct sl_wfx_set_sl_mac_key_req_body_t |
Set the Secure Link MAC key.
This API can be used for Trusted Eval devices in two contexts:
- to set a temporary SecureLink MAC key in RAM.
- to permanently burn the SecureLink MAC key in OTP memory. In that case, the OTP SecureLink mode will switch to Trusted Enforced mode
Definition at line
544
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | key_value[32] | Secure Link MAC Key value. |
uint8_t | otp_or_ram | Key destination - OTP or RAM (see enum sl_wfx_securelink_mac_key_dest_t) |
◆ sl_wfx_set_sl_mac_key_cnf_body_t
struct sl_wfx_set_sl_mac_key_cnf_body_t |
◆ sl_wfx_securelink_exchange_pub_keys_req_body_t
struct sl_wfx_securelink_exchange_pub_keys_req_body_t |
Exchange Secure Link Public Keys.
This API is used by the Host to send its curve25519 public key to Device, and get back Device public key in the confirmation message. Once keys are exchanged and authenticated (using their respective MAC), each peer computes the Secure Link session key that will be used to encrypt/decrypt future Host<->Device messages.
Definition at line
575
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | host_pub_key[32] | Host Public Key. |
uint8_t | host_pub_key_mac[64] | Host Public Key MAC. |
◆ sl_wfx_securelink_exchange_pub_keys_cnf_body_t
struct sl_wfx_securelink_exchange_pub_keys_cnf_body_t |
◆ sl_wfx_securelink_configure_req_body_t
struct sl_wfx_securelink_configure_req_body_t |
Configure Secure Link Layer.
This API can be used to:
- Set/update the Secure Link encryption bitmap
- or, Invalidate the current session key
In the later case, the encryption bitmap is left untouched.
Definition at line
620
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint8_t | encr_bmp[32] | Encryption bitmap. |
uint8_t | skey_invld | Invalidate Session Key (see enum sl_configure_skey_invld_t) |
◆ sl_wfx_securelink_configure_cnf_body_t
struct sl_wfx_securelink_configure_cnf_body_t |
Confirmation of Secure Link Layer configuration sl_wfx_securelink_configure_req_body_t .
Definition at line
633
of file
general_api.h
.
Data Fields | ||
---|---|---|
uint32_t | status | Request status (see enum wsm_status) |
Enumeration Type Documentation
◆ sl_wfx_secure_link_state_t
◆ sl_wfx_securelink_configure_skey_invld_t
used in request message sl_wfx_securelink_configure_req_body_t to trigger Session Key invalidation
Enumerator | |
---|---|
SL_CONFIGURE_SKEY_INVLD_INVALIDATE |
Force invalidating session key. |
SL_CONFIGURE_SKEY_INVLD_NOP |
Do not invalidate session key. |
Definition at line
604
of file
general_api.h
.
◆ sl_wfx_securelink_mac_key_dest_t
destination of the Secure Link MAC key , used by request message sl_wfx_set_sl_mac_key_req_body_t
Enumerator | |
---|---|
SL_MAC_KEY_DEST_OTP |
Key will be stored in OTP. |
SL_MAC_KEY_DEST_RAM |
Key will be stored in RAM. |
Definition at line
530
of file
general_api.h
.