Defines a class for parsing and building the DICE cert chain. More...
Data Fields | |
uint8_t | data [FLASH_CTRL_PARAM_BYTES_PER_PAGE] |
RAM buffer that mirrors the DICE cert chain in a flash page. | |
hardened_bool_t | data_dirty |
Indicate whether data needs to be written back to flash. | |
size_t | tail_offset |
The amount of bytes in data that has been processed. | |
const flash_ctrl_info_page_t * | info_page |
Indicate the info page currently buffered in data . More... | |
cert_key_id_pair_t | key_ids |
Id pair which points to the endorsement and cert ids below. | |
hmac_digest_t | endorsement_pubkey_id |
Public key id for signing endorsement cert. | |
hmac_digest_t | subject_pubkey_id |
Subject public key id of the current cert. | |
ecdsa_p256_public_key_t | subject_pubkey |
Subject public key contents of the current cert. | |
uint8_t | scratch_cert [kScratchCertSizeBytes] |
Scratch buffer for constructing CDI certs. | |
perso_tlv_cert_obj_t | cert_obj |
The current tlv cert the builder is processing. | |
hardened_bool_t | cert_valid |
Indicate whether the cert_obj is valid for the current subject_pubkey . | |
Defines a class for parsing and building the DICE cert chain.
All of the fields in this struct should be considered private, and users should call the public dice_chain_*
functions instead.
Definition at line 41 of file dice_chain.c.
perso_tlv_cert_obj_t dice_chain::cert_obj |
The current tlv cert the builder is processing.
Definition at line 91 of file dice_chain.c.
hardened_bool_t dice_chain::cert_valid |
Indicate whether the cert_obj
is valid for the current subject_pubkey
.
Definition at line 96 of file dice_chain.c.
uint8_t dice_chain::data[FLASH_CTRL_PARAM_BYTES_PER_PAGE] |
RAM buffer that mirrors the DICE cert chain in a flash page.
Definition at line 45 of file dice_chain.c.
hardened_bool_t dice_chain::data_dirty |
Indicate whether data
needs to be written back to flash.
Definition at line 50 of file dice_chain.c.
hmac_digest_t dice_chain::endorsement_pubkey_id |
Public key id for signing endorsement cert.
Definition at line 71 of file dice_chain.c.
const flash_ctrl_info_page_t* dice_chain::info_page |
Indicate the info page currently buffered in data
.
This is used to skip unnecessary read ops.
Definition at line 61 of file dice_chain.c.
cert_key_id_pair_t dice_chain::key_ids |
Id pair which points to the endorsement and cert ids below.
Definition at line 66 of file dice_chain.c.
uint8_t dice_chain::scratch_cert[kScratchCertSizeBytes] |
Scratch buffer for constructing CDI certs.
Definition at line 86 of file dice_chain.c.
ecdsa_p256_public_key_t dice_chain::subject_pubkey |
Subject public key contents of the current cert.
Definition at line 81 of file dice_chain.c.
hmac_digest_t dice_chain::subject_pubkey_id |
Subject public key id of the current cert.
Definition at line 76 of file dice_chain.c.
size_t dice_chain::tail_offset |
The amount of bytes in data
that has been processed.
Definition at line 55 of file dice_chain.c.