Microchip® Advanced Software Framework

atca_temp_key Struct Reference

Structure to hold TempKey fields.

#include <atca_host.h>

Data Fields

unsigned gen_dig_data: 1
 TempKey was derived from the GenDig command. More...
 
unsigned gen_key_data: 1
 TempKey was derived from the GenKey command (ATECC devices only). More...
 
uint8_t is_64
 TempKey has 64 bytes of valid data. More...
 
unsigned key_id: 4
 If TempKey was derived from a slot or transport key (GenDig or GenKey), that key ID is saved here. More...
 
unsigned no_mac_flag: 1
 TempKey was derived from a key that has the NoMac bit set preventing the use of the MAC command. Known as CheckFlag in ATSHA devices). More...
 
unsigned source_flag: 1
 Indicates id TempKey started from a random nonce (0) or not (1). More...
 
unsigned valid: 1
 TempKey is valid. More...
 
uint8_t value [ATCA_KEY_SIZE *2]
 Value of TempKey (64 bytes for ATECC608A only) More...
 

unsigned atca_temp_key::gen_dig_data
unsigned atca_temp_key::gen_key_data

TempKey was derived from the GenKey command (ATECC devices only).

Referenced by atcah_gen_key_msg(), and atcah_sign_internal_msg().

uint8_t atca_temp_key::is_64

TempKey has 64 bytes of valid data.

Referenced by atcah_nonce().

unsigned atca_temp_key::key_id

If TempKey was derived from a slot or transport key (GenDig or GenKey), that key ID is saved here.

Referenced by atcah_config_to_sign_internal(), atcah_gen_dig(), atcah_gen_key_msg(), atcah_gen_mac(), atcah_nonce(), and atcah_sign_internal_msg().

unsigned atca_temp_key::no_mac_flag

TempKey was derived from a key that has the NoMac bit set preventing the use of the MAC command. Known as CheckFlag in ATSHA devices).

Referenced by atcah_decrypt(), atcah_derive_key(), atcah_gen_mac(), atcah_hmac(), atcah_mac(), atcah_nonce(), atcah_privwrite_auth_mac(), atcah_sign_internal_msg(), and atcah_write_auth_mac().

unsigned atca_temp_key::source_flag

Indicates id TempKey started from a random nonce (0) or not (1).

Referenced by atcah_check_mac(), atcah_decrypt(), atcah_derive_key(), atcah_hmac(), atcah_mac(), atcah_nonce(), and atcah_sign_internal_msg().