debug(core): log more optiga information

onvej-sl/optiga-debug
Ondřej Vejpustek 4 weeks ago
parent 3b3fe88dc6
commit 23f88dbb5f

@ -34,6 +34,7 @@
#include TREZOR_BOARD
void vcp_println(const char *fmt, ...);
void vcp_print(const char *fmt, ...);
// Maximum possible packet size that can be transmitted.
#define OPTIGA_MAX_PACKET_SIZE (OPTIGA_DATA_REG_LEN - 5)
@ -668,12 +669,36 @@ optiga_result optiga_execute_command(const uint8_t *command_data,
increment_seq(sec_chan_sseq);
if (sec_chan_size < SEC_CHAN_OVERHEAD_SIZE ||
sec_chan_buffer[0] != SCTR_PROTECTED ||
memcmp(&sec_chan_buffer[SEC_CHAN_SEQ_OFFSET], sec_chan_sseq,
SEC_CHAN_SEQ_SIZE) != 0) {
if (sec_chan_size < SEC_CHAN_OVERHEAD_SIZE) {
vcp_println("Error: OPTIGA_ERR_UNEXPECTED, File: %s, Line: %d", __FILE__,
__LINE__);
vcp_print("sec_chan_size: %d, sec_chan_buffer: ", sec_chan_size);
for (size_t i = 0; i < sec_chan_size; ++i) {
vcp_print("%02x", sec_chan_buffer[i]);
}
vcp_println("");
return OPTIGA_ERR_UNEXPECTED;
}
if (sec_chan_buffer[0] != SCTR_PROTECTED) {
vcp_println("Error: OPTIGA_ERR_UNEXPECTED, File: %s, Line: %d", __FILE__,
__LINE__);
vcp_println("sec_chan_buffer[0]: %02x", sec_chan_buffer[0]);
return OPTIGA_ERR_UNEXPECTED;
}
if (memcmp(&sec_chan_buffer[SEC_CHAN_SEQ_OFFSET], sec_chan_sseq,
SEC_CHAN_SEQ_SIZE) != 0) {
vcp_println("sec_chan_buffer[SEC_CHAN_SEQ_OFFSET]: ");
for (size_t i = 0; i < SEC_CHAN_SEQ_SIZE; ++i) {
vcp_print("%02x", sec_chan_buffer[SEC_CHAN_SEQ_OFFSET + i]);
}
vcp_println("");
vcp_println("sec_chan_sseq: ");
for (size_t i = 0; i < SEC_CHAN_SEQ_SIZE; ++i) {
vcp_print("%02x", sec_chan_sseq[i]);
}
vcp_println("");
return OPTIGA_ERR_UNEXPECTED;
}

Loading…
Cancel
Save